# Loading the libraries
library(tswge)
## Registered S3 method overwritten by 'quantmod':
## method from
## as.zoo.data.frame zoo
##
## Attaching package: 'tswge'
## The following object is masked from 'package:datasets':
##
## uspop
library(vars)
## Warning: package 'vars' was built under R version 4.3.3
## Loading required package: MASS
##
## Attaching package: 'MASS'
## The following object is masked from 'package:tswge':
##
## cement
## Loading required package: strucchange
## Warning: package 'strucchange' was built under R version 4.3.3
## Loading required package: zoo
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
## Loading required package: sandwich
## Warning: package 'sandwich' was built under R version 4.3.3
## Loading required package: urca
## Loading required package: lmtest
##
## Attaching package: 'lmtest'
## The following object is masked from 'package:tswge':
##
## wages
library(nnfor)
## Loading required package: generics
##
## Attaching package: 'generics'
## The following object is masked from 'package:sandwich':
##
## estfun
## The following objects are masked from 'package:base':
##
## as.difftime, as.factor, as.ordered, intersect, is.element, setdiff,
## setequal, union
library(GGally)
## Warning: package 'GGally' was built under R version 4.3.3
## Loading required package: ggplot2
## Registered S3 method overwritten by 'GGally':
## method from
## +.gg ggplot2
library(RColorBrewer)
# Setting seed for consistent results
set.seed(456)
# Loading the Key Economic Indicators data (downloaded from
# https://data.texas.gov/dataset/Key-Economic-Indicators/karz-jr5v/about_data)
kei = read.csv("Data/Key_Economic_Indicators_20240401.csv", header = TRUE)
# Checking that data was loaded correctly
head(kei)
## Month Year Consumer.Confidence.Index.TX
## 1 1 2005 NA
## 2 2 2005 NA
## 3 3 2005 NA
## 4 4 2005 NA
## 5 5 2005 NA
## 6 6 2005 NA
## Consumer.Confidence.West.South.Central Consumer.Confidence.Index.US
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
## PCE.Deflator Consumer.Price.Index.TX Consumer.Price.Index.U.S.
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## CPI.U.S..Ex.Food.and.Energy Nonfarm.Employment.TX Nonfarm.Employment.U.S.
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## Unemployment.TX Unemployment.U.S. Single.Family.Building.Permits.TX
## 1 NA NA NA
## 2 NA NA NA
## 3 NA NA NA
## 4 NA NA NA
## 5 NA NA NA
## 6 NA NA NA
## Multi.Family.Building.Permits.TX Existing.Single.Family.Home.Sales.TX
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
## Existing.Single.Family.Home.Price.TX Non.Residential.Building.Construction
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
## Total.Sales.Tax.Collections.Retail.TX Total.Sales.Tax.Collections.TX
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
## Retail.Gasoline.Price.TX Retail.Diesel.Price.TX Nonfarm.Employment.Illinois
## 1 1.773 1.906 5829.6
## 2 1.841 1.958 5836.2
## 3 2.008 2.148 5833.8
## 4 2.169 2.226 5857.5
## 5 2.088 2.150 5855.4
## 6 2.101 2.256 5841.0
## Nonfarm.Employment.Florida Nonfarm.Employment.New.York
## 1 7650.2 8490.6
## 2 7670.7 8487.9
## 3 7668.7 8483.6
## 4 7716.4 8518.6
## 5 7753.0 8509.9
## 6 7761.6 8515.9
## Nonfarm.Employment.Texas Nonfarm.Employment.California
## 1 9642.4 14881.8
## 2 9653.2 14908.3
## 3 9670.8 14929.3
## 4 9715.1 14979.4
## 5 9727.1 14985.4
## 6 9734.0 15000.9
## Gross.Value.Crude.Oil.Production Gross.Value.Natural.Gas.Production
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
## Motor.Fuel.Taxed.Gasoline Motor.Fuel.Taxed.Diesel
## 1 NA NA
## 2 NA NA
## 3 NA NA
## 4 NA NA
## 5 NA NA
## 6 NA NA
# We are interested in the modeling the Existing Single Family Home Price TX
# (column Q) based on the evolution of the Consumer Price Index TX (column G)
# and Unemployment TX (column L) from January 2007 (since we have missing data
# from previous time periods)
cpi = na.omit(kei$Consumer.Price.Index.TX)
unemp = na.omit(kei$Unemployment.TX)
home_price = na.omit(kei$Existing.Single.Family.Home.Price.TX)
# Creating the time series objects
cpi_ts = ts(data = cpi, start = c(2007,1), frequency = 12)
unemp_ts = ts(data = unemp, start = c(2007,1), frequency = 12)
home_price_ts = ts(data = home_price, start = c(2007,1), frequency = 12)
# Plotting the data
plotts.sample.wge(cpi_ts)

## $xbar
## [1] 221.9154
##
## $autplt
## [1] 1.0000000 0.9774340 0.9546264 0.9325625 0.9104328 0.8886728 0.8662614
## [8] 0.8443237 0.8228802 0.8013154 0.7800437 0.7587417 0.7377793 0.7168038
## [15] 0.6964932 0.6774122 0.6568605 0.6364202 0.6161691 0.5967461 0.5768258
## [22] 0.5563177 0.5371057 0.5180163 0.4990331 0.4817730
##
## $freq
## [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
## [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
## [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
## [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
## [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
## [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
## [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
## [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
## [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
## [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
## [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
## [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
## [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
## [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
## [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
## [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
## [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
##
## $dbz
## [1] 12.4373754 12.0982382 11.5306355 10.7314859 9.6977004 8.4281497
## [7] 6.9275861 5.2140863 3.3318409 1.3684030 -0.5361571 -2.2195896
## [13] -3.5803871 -4.6364180 -5.4751706 -6.1615406 -6.7082975 -7.1136283
## [19] -7.4079550 -7.6606980 -7.9493774 -8.3268379 -8.8066913 -9.3646714
## [25] -9.9505942 -10.5090534 -11.0027759 -11.4245578 -11.7885883 -12.1101807
## [31] -12.3919910 -12.6261104 -12.8075811 -12.9465885 -13.0687381 -13.2039483
## [37] -13.3732299 -13.5815029 -13.8187484 -14.0675330 -14.3126035 -14.5471744
## [43] -14.7723177 -14.9906609 -15.1996679 -15.3897799 -15.5491546 -15.6720458
## [49] -15.7648108 -15.8449868 -15.9342233 -16.0499641 -16.2003032 -16.3833824
## [55] -16.5902074 -16.8086858 -17.0267238 -17.2332483 -17.4177594 -17.5703362
## [61] -17.6836672 -17.7566059 -17.7966407 -17.8187414 -17.8405480 -17.8764219
## [67] -17.9333074 -18.0099578 -18.0993422 -18.1927535 -18.2834750 -18.3681850
## [73] -18.4457221 -18.5145926 -18.5713906 -18.6115738 -18.6323199 -18.6356080
## [79] -18.6293511 -18.6256864 -18.6373756 -18.6741918 -18.7407295 -18.8360083
## [85] -18.9543977 -19.0870664 -19.2233257 -19.3517150 -19.4611876 -19.5428684
## [91] -19.5923315 -19.6114750 -19.6086856 -19.5966819 -19.5887394 -19.5948587
## [97] -19.6192965 -19.6601102 -19.7105602 -19.7616304 -19.8046326 -19.8329865
## [103] -19.8428476
# We observe a mostly increasing trend with the main frequency close to 0
plotts.sample.wge(unemp_ts)

## $xbar
## [1] 5.473786
##
## $autplt
## [1] 1.00000000 0.94149479 0.86200180 0.79510403 0.73694908 0.69067335
## [7] 0.64843330 0.61247460 0.57586497 0.53658233 0.49565185 0.45405419
## [13] 0.41398618 0.37442689 0.33854102 0.30228087 0.26800601 0.23595627
## [19] 0.20435792 0.17358947 0.14567653 0.11964272 0.09516257 0.07327755
## [25] 0.05573662 0.04009882
##
## $freq
## [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
## [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
## [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
## [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
## [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
## [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
## [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
## [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
## [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
## [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
## [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
## [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
## [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
## [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
## [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
## [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
## [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
##
## $dbz
## [1] 11.2985642 11.0508000 10.6388148 10.0645602 9.3319225 8.4481575
## [7] 7.4261200 6.2874514 5.0664878 3.8135199 2.5940175 1.4790595
## [13] 0.5258856 -0.2419540 -0.8392539 -1.3048260 -1.6814364 -2.0036337
## [19] -2.2956818 -2.5746074 -2.8534912 -3.1429315 -3.4508505 -3.7817001
## [25] -4.1360146 -4.5107387 -4.9002694 -5.2978531 -5.6968885 -6.0917879
## [31] -6.4782876 -6.8533416 -7.2148629 -7.5615198 -7.8926330 -8.2080893
## [37] -8.5081707 -8.7932937 -9.0637657 -9.3197004 -9.5611680 -9.7885286
## [43] -10.0028003 -10.2058857 -10.4005517 -10.5901542 -10.7781830 -10.9677367
## [49] -11.1610353 -11.3590736 -11.5615104 -11.7668783 -11.9731378 -12.1784824
## [55] -12.3821572 -12.5849576 -12.7891220 -12.9975355 -13.2124363 -13.4340354
## [61] -13.6595360 -13.8829738 -14.0961044 -14.2902479 -14.4586028 -14.5982265
## [67] -14.7109000 -14.8025521 -14.8815571 -14.9566286 -15.0350044 -15.1212994
## [73] -15.2170731 -15.3209851 -15.4293831 -15.5372112 -15.6391448 -15.7308272
## [79] -15.8100039 -15.8772981 -15.9364157 -15.9937190 -16.0573003 -16.1358198
## [85] -16.2373768 -16.3685955 -16.5339773 -16.7354763 -16.9722095 -17.2402196
## [91] -17.5322672 -17.8377282 -18.1428103 -18.4314147 -18.6869624 -18.8952022
## [97] -19.0474127 -19.1428115 -19.1889539 -19.1997222 -19.1916344 -19.1797983
## [103] -19.1746226
# We observe 2 peaks: one during the financial crisis of 2008 and one during the Covid pandemic
plotts.sample.wge(home_price_ts)

## $xbar
## [1] 210749.8
##
## $autplt
## [1] 1.0000000 0.9844948 0.9703709 0.9544225 0.9394209 0.9246178 0.9108404
## [8] 0.8965941 0.8831047 0.8696089 0.8557298 0.8422147 0.8299077 0.8114620
## [15] 0.7943159 0.7751944 0.7557981 0.7367218 0.7189298 0.7005814 0.6827653
## [22] 0.6638098 0.6441100 0.6247604 0.6080084 0.5865517
##
## $freq
## [1] 0.004854369 0.009708738 0.014563107 0.019417476 0.024271845 0.029126214
## [7] 0.033980583 0.038834951 0.043689320 0.048543689 0.053398058 0.058252427
## [13] 0.063106796 0.067961165 0.072815534 0.077669903 0.082524272 0.087378641
## [19] 0.092233010 0.097087379 0.101941748 0.106796117 0.111650485 0.116504854
## [25] 0.121359223 0.126213592 0.131067961 0.135922330 0.140776699 0.145631068
## [31] 0.150485437 0.155339806 0.160194175 0.165048544 0.169902913 0.174757282
## [37] 0.179611650 0.184466019 0.189320388 0.194174757 0.199029126 0.203883495
## [43] 0.208737864 0.213592233 0.218446602 0.223300971 0.228155340 0.233009709
## [49] 0.237864078 0.242718447 0.247572816 0.252427184 0.257281553 0.262135922
## [55] 0.266990291 0.271844660 0.276699029 0.281553398 0.286407767 0.291262136
## [61] 0.296116505 0.300970874 0.305825243 0.310679612 0.315533981 0.320388350
## [67] 0.325242718 0.330097087 0.334951456 0.339805825 0.344660194 0.349514563
## [73] 0.354368932 0.359223301 0.364077670 0.368932039 0.373786408 0.378640777
## [79] 0.383495146 0.388349515 0.393203883 0.398058252 0.402912621 0.407766990
## [85] 0.412621359 0.417475728 0.422330097 0.427184466 0.432038835 0.436893204
## [91] 0.441747573 0.446601942 0.451456311 0.456310680 0.461165049 0.466019417
## [97] 0.470873786 0.475728155 0.480582524 0.485436893 0.490291262 0.495145631
## [103] 0.500000000
##
## $dbz
## [1] 12.6611087 12.3027507 11.7010980 10.8496709 9.7398013 8.3616444
## [7] 6.7068581 4.7752583 2.5903774 0.2319139 -2.1149331 -4.1495593
## [13] -5.6144960 -6.5274352 -7.1077941 -7.5256113 -7.8341812 -8.0485142
## [19] -8.2168925 -8.4248863 -8.7580142 -9.2693051 -9.9647411 -10.7976506
## [25] -11.6696513 -12.4524793 -13.0434056 -13.4216709 -13.6441395 -13.7867526
## [31] -13.8990270 -14.0010833 -14.1043277 -14.2294120 -14.4081950 -14.6722664
## [37] -15.0382354 -15.4974329 -16.0133126 -16.5290448 -16.9863708 -17.3482945
## [43] -17.6090989 -17.7832231 -17.8856003 -17.9227357 -17.9000357 -17.8349163
## [49] -17.7614864 -17.7224394 -17.7553576 -17.8822505 -18.1056208 -18.4101636
## [55] -18.7683685 -19.1481073 -19.5191381 -19.8549750 -20.1295062 -20.3133569
## [61] -20.3777584 -20.3080962 -20.1176701 -19.8481238 -19.5549984 -19.2901475
## [67] -19.0914739 -18.9812803 -18.9693670 -19.0570287 -19.2397057 -19.5073522
## [73] -19.8425426 -20.2173445 -20.5913246 -20.9143528 -21.1372267 -21.2279233
## [79] -21.1838107 -21.0303509 -20.8080393 -20.5582379 -20.3155063 -20.1063228
## [85] -19.9504709 -19.8621132 -19.8495094 -19.9136706 -20.0467295 -20.2308625
## [91] -20.4385774 -20.6351126 -20.7833188 -20.8505098 -20.8156513 -20.6746390
## [97] -20.4418199 -20.1471728 -19.8301362 -19.5322259 -19.2906163 -19.1338484
## [103] -19.0796056
# We observe a mostly increasing trends but with seasonal factors (prices are traditionally higher in summer)
# Creating a data frame:
df = data.frame(cpi, unemp, home_price)
# Looking at the data pairs
ggpairs(df)

# Home prices and inflation (via CPI index) are strongly positively correlated
# Home prices and unemployment are negatively correlated
# Training and test set for short term forecast (6 months)
# Data Frame
short_term = 6
train_index_short = nrow(df) - short_term
df_train_s = head(df, n=train_index_short)
df_test_s = tail(df, n=short_term)
# Time series
cpi_ts_train_s = ts(data = df_train_s$cpi, start = c(2007,1), frequency = 12)
unemp_ts_train_s = ts(data = df_train_s$unemp, start = c(2007,1), frequency = 12)
home_price_ts_train_s = ts(data = df_train_s$home_price, start = c(2007,1), frequency = 12)
cpi_ts_test_s = ts(data = df_test_s$cpi, start = c(2023,9), frequency = 12)
unemp_ts_test_s = ts(data = df_test_s$unemp, start = c(2023,9), frequency = 12)
home_price_ts_test_s = ts(data = df_test_s$home_price, start = c(2023,9), frequency = 12)
# Training and test set for long term forecast (5 years)
# Data Frame
long_term = 60
train_index_long = nrow(df) - long_term
df_train_l = head(df, n=train_index_long)
df_test_l = tail(df, n=long_term)
# Time series
cpi_ts_train_l = ts(data = df_train_l$cpi, start = c(2007,1), frequency = 12)
unemp_ts_train_l = ts(data = df_train_l$unemp, start = c(2007,1), frequency = 12)
home_price_ts_train_l = ts(data = df_train_l$home_price, start = c(2007,1), frequency = 12)
cpi_ts_test_l = ts(data = df_test_l$cpi, start = c(2019,3), frequency = 12)
unemp_ts_test_l = ts(data = df_test_l$unemp, start = c(2019,3), frequency = 12)
home_price_ts_test_l = ts(data = df_test_l$home_price, start = c(2019,3), frequency = 12)
# 4a. Fitting ARMA / ARIMA / ARUMA / Signal Plus Noise (univariate analysis)
# Short-term ARMA for cpi
aic5.wge(df_train_s$cpi, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 1 0
## Error in aic calculation at 1 1
## Error in aic calculation at 1 2
## Error in aic calculation at 1 3
## Error in aic calculation at 2 0
## Error in aic calculation at 2 1
## Error in aic calculation at 2 2
## Error in aic calculation at 2 3
## Error in aic calculation at 3 0
## Error in aic calculation at 3 1
## Error in aic calculation at 3 2
## Error in aic calculation at 3 3
## Error in aic calculation at 4 0
## Error in aic calculation at 4 1
## Error in aic calculation at 5 0
## Error in aic calculation at 5 1
## Error in aic calculation at 5 2
## Five Smallest Values of aic
## p q aic
## 4 2 -0.0478501905
## 4 3 -0.0001832367
## 5 3 0.7012376981
## 0 2 4.0839852309
## 0 0 6.2610587926
est.cpi = est.arma.wge(df_train_s$cpi, p = 4, q = 2)
##
##
## Coefficients of AR polynomial:
## -0.0562 1.1049 0.4872 -0.5360
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-1.0000B 1.0000 1.0000 0.0000
## 1+1.6425B+0.9142B^2 -0.8983+-0.5356i 0.9561 0.4144
## 1-0.5863B 1.7056 0.5863 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -1.6541 -0.8801
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+1.6541B+0.8801B^2 -0.9398+-0.5031i 0.9381 0.4218
##
##
preds = fore.arma.wge(df_train_s$cpi, phi = est.cpi$phi, n.ahead = 6, lastn = TRUE)

ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 90.57898
## [1] 90.57898
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 10.71134
## [1] 10.71134
# Short-term ARIMA for cpi
cpi.d1 = artrans.wge(df_train_s$cpi, phi.tr = 1)

aic5.wge(cpi.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 4 2
## Error in aic calculation at 5 2
## Error in aic calculation at 5 3
## Five Smallest Values of aic
## p q aic
## 2 1 -0.1222308
## 1 1 -0.1212039
## 2 0 -0.1187039
## 1 0 -0.1180841
## 0 3 -0.1169767
est.cpi.d1 = est.arma.wge(cpi.d1, p = 2, q = 1)
##
##
## Coefficients of AR polynomial:
## -0.2615 0.2847
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.6801B -1.4703 0.6801 0.5000
## 1-0.4186B 2.3888 0.4186 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -0.8058
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.8058B -1.2410 0.8058 0.5000
##
##
preds = fore.arima.wge(df_train_s$cpi, phi = est.cpi.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma 0.821 1.047 1.387 0.753 0.474 0.179 -0.056 0.435 0.7 0.736 0.484 0.616 0.493 1.286 0.394 2.073 2.611 1.516 -1.342 0.014 -1.698 -3.707 -1.809 0.725 1.11 0.443 0.886 -0.34 1.894 -0.332 0.058 0.404 -0.002 0.049 -0.584 0.579 0.438 0.308 0.593 -0.037 0.174 -0.821 0.333 0.747 0.033 -0.442 -0.176 1.306 1.411 2.344 1.905 0.721 -0.743 0.105 0.766 0.193 -0.893 0.145 -0.634 0.659 1.927 2.022 0.444 -0.638 -0.664 -0.491 0.32 1.25 -0.407 -1.008 -0.634 0.984 2.195 0.778 0.514 -0.1 0.261 0.436 0.438 0.035 -0.795 -0.741 1.216 0.82 0.975 1.494 0.461 0.449 0.511 -0.269 -0.425 0.183 -0.012 -1.4 -1.347 -1.028 0.021 1.453 0.675 0.819 0.57 -0.28 0.216 -0.597 0.077 -0.379 -0.961 0.577 0.698 1.229 0.561 0.837 0.822 -0.143 -0.084 0.367 0.687 -0.14 -0.015 1.01 0.367 0.089 0.638 0.503 0.485 -0.004 0.639 1.969 0.321 0.223 -0.892 0.561 1.487 0.305 0.406 1.891 0.857 -0.411 -0.486 0.563 0.958 -0.627 -0.749 0.304 0.402 1.435 1.215 0.113 -0.193 0.871 -0.144 0.558 0.493 -0.859 -0.685 0.636 0.574 -0.612 -2.429 -0.473 1.9 1.718 -0.494 0.818 0.025 -0.677 0.435 1.862 1.2 2.401 2.273 2.049 1.604 0.454 0.543 0.881 2.095 0.761 0.645 2.69 2.688 4.245 2.289 3.088 4.071 -0.494 0.066 0.979 -0.545 -0.345 -2.213 2.52 2.226 1.524 2.017 0.751 0.816 0.228 1.761
ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 1.446768
## [1] 1.446768
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 2.734241
## [1] 2.734241
# Short-term ARUMA for cpi
cpi.12 = artrans.wge(cpi.d1, phi.tr = c(rep(0,11),1))


aic5.wge(cpi.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 1 0.2091513
## 0 1 0.2430321
## 3 3 0.2450742
## 4 1 0.2455573
## 1 1 0.2522979
est.cpi12 = est.arma.wge(cpi.12, p = 2, q = 1)
##
##
## Coefficients of AR polynomial:
## -0.4847 0.3012
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.8423B -1.1872 0.8423 0.5000
## 1-0.3576B 2.7965 0.3576 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -0.9909
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.9909B -1.0092 0.9909 0.5000
##
##
preds = fore.aruma.wge(df_train_s$cpi, phi = est.cpi12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 15
## phitot.fore 0.51525 0.7859558 -0.3012058 0 0 0 0 0 0 0 0 1 -0.51525 -0.7859558 0.3012058


ASE = mean((df_test_s$cpi[(length(df_test_s$cpi)-6+1)] - preds$f)^2)
ASE # 2.798647
## [1] 2.798647
RMSE = sqrt(mean((df_test_s$cpi - preds$f[1:6])^2))
RMSE # 2.396974
## [1] 2.396974
# Short-term Signal-Plus Noise for cpi
wbg.boot.wge(df_train_s$cpi) # p-value 0.05263 <- FTR
## $p
## [1] 2
##
## $phi
## [1] 1.5650148 -0.5671139
##
## $pv
## [1] 0.04761905
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.
# Short-term ARMA for unemp
aic5.wge(df_train_s$unemp, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 1 1 -1.130996
## 2 1 -1.125706
## 1 2 -1.125015
## 3 0 -1.123085
## 2 0 -1.119800
est.unemp = est.arma.wge(df_train_s$unemp, p = 1, q = 1)
##
##
## Coefficients of AR polynomial:
## 0.9108
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.9108B 1.0979 0.9108 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -0.2826
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.2826B -3.5382 0.2826 0.5000
##
##
preds = fore.arma.wge(df_train_s$unemp, phi = est.unemp$phi, n.ahead = 6, lastn = TRUE)

ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.306961
## [1] 0.306961
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.5540406
## [1] 0.5540406
# Short-term ARIMA for unemp
unemp.d1 = artrans.wge(df_train_s$unemp, phi.tr = 1)

aic5.wge(unemp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 3 1 -1.111737
## 2 2 -1.108466
## 1 2 -1.099214
## 1 3 -1.098885
## 0 2 -1.096332
est.unemp.d1 = est.arma.wge(unemp.d1, p = 3, q = 1)
##
##
## Coefficients of AR polynomial:
## 1.1750 -0.3518 0.1134
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.9275B 1.0782 0.9275 0.0000
## 1-0.2475B+0.1223B^2 1.0121+-2.6750i 0.3496 0.1924
##
##
##
##
## Coefficients of MA polynomial:
## 1.0000
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1-1.0000B 1.0000 1.0000 0.0000
##
##
preds = fore.arima.wge(df_train_s$unemp, phi = est.unemp.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma -0.1 0 -0.1 0 0 0 0 0.1 0 0 0 -0.1 0 0 0.1 0.1 0.2 0.1 0.2 0.2 0.2 0.2 0.3 0.2 0.2 0.1 0.1 1 0.5 0.2 0.1 0 0 0 0 0 0 0 -0.1 0 -0.1 0 0 0 0.1 0 0 0 0 -0.1 0 0.1 0.1 0 -0.1 -0.2 -0.2 -0.3 -0.2 -0.2 -0.1 -0.3 0.1 0 0 -0.1 -0.1 -0.1 0 0 0 0 0.1 -0.1 0 -0.1 0 -0.1 0 -0.1 -0.1 -0.1 -0.2 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 -0.1 -0.1 -0.1 -0.2 0 -0.1 0 0 -0.1 0 0 0.1 0 0 0 0 0 -0.1 0.1 0 0.1 0.1 0 0 0.1 0 0 0 0 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 0 0 0 0 -0.1 0 0 -0.1 0 0 -0.1 0 0 0 0 -0.1 -0.1 -0.1 0 -0.1 0 0.1 0 0.1 -0.1 0 0 -0.1 0.1 1.6 7.5 -0.8 -1.7 -0.8 -1.2 -0.4 -0.6 -0.2 0 -0.2 -0.1 -0.2 -0.2 -0.3 0 -0.3 -0.3 -0.2 -0.2 -0.3 -0.1 -0.2 -0.2 -0.2 -0.1 0 0 0 0 0.1 0.1 0 0.1 0 -0.1 0 0 0 -0.1 0 0
ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.001935331
## [1] 0.001935331
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.0439924
## [1] 0.0439924
# Short-term ARUMA for unemp
unemp.12 = artrans.wge(unemp.d1, phi.tr = c(rep(0,11),1))


aic5.wge(unemp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 3 -0.4406575
## 1 2 -0.3977891
## 3 2 -0.3927050
## 2 2 -0.3886289
## 4 2 -0.3747561
est.unemp.12 = est.arma.wge(unemp.12, p = 2, q = 3)
##
##
## Coefficients of AR polynomial:
## -0.0313 0.7452
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.8791B -1.1375 0.8791 0.5000
## 1-0.8477B 1.1796 0.8477 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -0.2584 1.0000 0.2584
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+1.0000B -1.0000 1.0000 0.5000
## 1-1.0000B 1.0000 1.0000 0.0000
## 1+0.2584B -3.8698 0.2584 0.5000
##
##
preds = fore.aruma.wge(df_train_s$unemp, phi = est.unemp.12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 15
## phitot.fore 0.9686578 0.7765791 -0.7452369 0 0 0 0 0 0 0 0 1 -0.9686578 -0.7765791 0.7452369


ASE = mean((df_test_s$unemp[(length(df_test_s$unemp)-6+1)] - preds$f)^2)
ASE # 0.05166667
## [1] 0.05166667
RMSE = sqrt(mean((df_test_s$unemp - preds$f[1:6])^2))
RMSE # 0.227303
## [1] 0.227303
# Short-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_s$unemp) # p-value 0.1954887 <- FTR
## $p
## [1] 3
##
## $phi
## [1] 1.1776388 -0.3545120 0.1148685
##
## $pv
## [1] 0.2556391
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.
# Short-term ARMA for home_price
aic5.wge(df_train_s$home_price, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 1 0
## Error in aic calculation at 1 1
## Error in aic calculation at 1 2
## Error in aic calculation at 1 3
## Error in aic calculation at 2 0
## Error in aic calculation at 2 1
## Error in aic calculation at 2 2
## Error in aic calculation at 3 0
## Error in aic calculation at 3 1
## Error in aic calculation at 3 2
## Error in aic calculation at 4 0
## Error in aic calculation at 4 1
## Error in aic calculation at 4 2
## Error in aic calculation at 4 3
## Error in aic calculation at 5 0
## Error in aic calculation at 5 1
## Error in aic calculation at 5 2
## Five Smallest Values of aic
## p q aic
## 2 3 17.80165
## 3 3 18.17814
## 5 3 19.29838
## 0 3 19.40421
## 0 2 19.85467
est.hp = est.arma.wge(df_train_s$home_price, p = 2, q = 3)
##
##
## Coefficients of AR polynomial:
## -0.0021 0.9973
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.9997B -1.0003 0.9997 0.5000
## 1-0.9976B 1.0024 0.9976 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## -1.2259 -0.0609 0.1712
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.9895B -1.0106 0.9895 0.5000
## 1+0.5506B -1.8161 0.5506 0.5000
## 1-0.3143B 3.1822 0.3143 0.0000
##
##
preds = fore.arma.wge(df_train_s$home_price, phi = est.hp$phi, n.ahead = 6, lastn = TRUE)

ASE_ARMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds$f)^2)
ASE_ARMA_S # 302887206
## [1] 302887206
RW_RMSE_ARMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 192 windows."

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3413 6329 8858 10761 13536 34518
## [1] "The Rolling Window RMSE is: 10761.056"
RW_RMSE_ARMA_S # 10761.056
## $rwRMSE
## [1] 10761.06
##
## $trainingSize
## [1] 3
##
## $numwindows
## [1] 192
##
## $horizon
## [1] 6
##
## $s
## [1] 0
##
## $d
## [1] 0
##
## $phi
## [1] -0.002148641 0.997349901
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 7958.733 5379.476 5013.887 6426.267 9000.361 9185.940 7116.683
## [8] 4039.473 3759.187 4661.234 8297.048 9569.450 6502.335 4956.014
## [15] 7479.780 10160.556 13908.407 14026.219 10661.010 7126.550 5446.986
## [22] 7480.252 12285.925 13544.943 10600.149 8848.081 6494.809 8039.497
## [29] 11207.035 10200.290 7653.844 5572.630 3412.783 4402.724 8866.949
## [36] 10470.281 7722.712 5411.109 4319.528 4360.301 8649.873 9288.047
## [43] 6017.544 4329.460 4225.697 4584.108 7516.572 7681.131 5404.589
## [50] 5489.464 4319.358 4132.178 7226.668 7477.063 6040.757 6279.476
## [57] 8292.035 9386.407 15438.539 17486.352 11315.770 6244.906 4353.516
## [64] 4783.418 7768.570 7073.507 5400.333 7684.361 10218.454 11681.938
## [71] 18900.262 21882.679 16242.131 9380.082 5356.192 5991.775 9010.504
## [78] 7894.495 4559.051 5481.627 8053.057 9669.276 15706.113 17047.884
## [85] 11348.859 8361.718 5868.104 4845.051 7423.623 6843.854 4731.835
## [92] 7901.102 11112.950 11040.765 16301.443 18374.257 13249.782 9250.397
## [99] 7636.570 8739.314 10046.205 8338.500 5710.074 8095.845 12274.926
## [106] 13253.167 18153.263 21046.729 16219.289 11116.594 7425.006 5096.619
## [113] 7362.934 6120.351 5278.583 7972.971 9986.795 10084.278 16877.295
## [120] 18003.470 10810.230 7162.751 5540.711 6345.190 6975.784 5643.327
## [127] 4917.996 7382.385 10530.289 10145.421 15333.908 16611.876 10290.258
## [134] 7470.597 7364.271 7863.419 10530.405 9551.918 5241.752 6230.458
## [141] 9432.100 10693.833 17299.346 19362.125 13532.472 9006.093 5742.176
## [148] 5141.453 7558.859 6847.197 5271.338 7041.036 8015.539 7968.413
## [155] 18309.089 20897.260 15670.965 15486.129 17697.198 15151.313 6970.316
## [162] 5984.146 9518.108 12442.378 17150.977 23681.677 32862.115 34517.866
## [169] 27664.676 22407.051 16710.597 9963.152 6048.973 8924.636 14844.772
## [176] 22334.687 27976.662 29357.780 33546.151 33068.609 23605.276 14605.822
## [183] 15785.751 21211.031 21509.721 17099.078 13272.116 10599.055 9082.374
## [190] 11717.878 18556.765 21008.487
# Short-term ARIMA for home_price
hp.d1 = artrans.wge(df_train_s$home_price, phi.tr = 1)

aic5.wge(hp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 4 2
## Error in aic calculation at 4 3
## Five Smallest Values of aic
## p q aic
## 5 3 17.06016
## 3 2 17.26038
## 2 2 17.27046
## 5 1 17.27501
## 5 0 17.28010
est.hp.d1 = est.arma.wge(hp.d1, p = 5, q = 3)
##
##
## Coefficients of AR polynomial:
## -0.3822 0.0637 0.5397 -0.0567 -0.3593
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.9996B+0.9179B^2 -0.5445+-0.8905i 0.9581 0.3373
## 1-1.3180B+0.5588B^2 1.1793+-0.6315i 0.7475 0.0782
## 1+0.7005B -1.4275 0.7005 0.5000
##
##
##
##
## Coefficients of MA polynomial:
## -0.5308 -0.0902 0.7246
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+1.2555B+1.0000B^2 -0.6278+-0.7784i 1.0000 0.3580
## 1-0.7247B 1.3800 0.7247 0.0000
##
##
preds_ARIMA_S = fore.arima.wge(df_train_s$home_price, phi = est.hp.d1$phi, d = 1, n.ahead = 6, lastn = F)
## y.arma 2544 3815 1663 2739 5673 -2739 489 -5673 -3228 1271 2641 -8510 3717 4206 0 3718 4010 -1760 -1370 -6456 -2543 -4989 3326 -8609 6261 1369 3228 6261 5674 -1761 -3228 -2348 -4695 -392 1957 -7337 4109 2836 2642 1369 4109 2054 -1272 -6163 -2054 1565 4402 -11485 6900 -1900 2000 4500 2500 -1000 0 -3500 -2500 0 5000 -12000 7000 7990 2010 5000 4000 -1900 -2200 -1900 -3000 3000 3000 -12500 6500 7901 7099 5305 4160 -1465 -3000 -4100 -1000 0 4100 -10163 8663 4400 2100 6000 5000 -738 -2262 -4000 -3000 3000 6870 -12020 7150 4850 4150 8500 3500 -4000 -2000 -5000 -4000 1400 7600 -10799 5699 6925 3979 9196 5000 -4000 -1000 -5000 0 4500 2500 -13702 11602 3600 4500 6000 2500 -4500 0 -4000 -3250 2150 6700 -11600 8000 5000 1000 9000 1380 -1880 -3500 -6000 -100 100 5000 -13500 8500 5000 5000 7000 2990 -2990 -2000 -3000 -960 -1040 9000 -16000 11000 4900 1000 -900 11000 9000 -3854 -146 4000 900 100 -8000 13000 7888 7612 9750 9750 0 0 -2000 2000 5000 6000 -7504 11504 10000 14750 10250 0 -10000 -6128 -3502 -5370 -5000 1000 -12000 6000 5043 6957 8000 3000 -3000 -5000
ASE_ARIMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds_ARIMA_S$f)^2)
ASE_ARIMA_S # 12498440
## [1] 12498440
RW_RMSE_ARIMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, d=1, phi = est.hp.d1$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 187 windows."
## y.arma 2544 3815 1663 2739 5673 -2739 489
## y.arma 3815 1663 2739 5673 -2739 489 -5673
## y.arma 1663 2739 5673 -2739 489 -5673 -3228

## y.arma 2739 5673 -2739 489 -5673 -3228 1271
## y.arma 5673 -2739 489 -5673 -3228 1271 2641
## y.arma -2739 489 -5673 -3228 1271 2641 -8510
## y.arma 489 -5673 -3228 1271 2641 -8510 3717

## y.arma -5673 -3228 1271 2641 -8510 3717 4206
## y.arma -3228 1271 2641 -8510 3717 4206 0
## y.arma 1271 2641 -8510 3717 4206 0 3718
## y.arma 2641 -8510 3717 4206 0 3718 4010

## y.arma -8510 3717 4206 0 3718 4010 -1760
## y.arma 3717 4206 0 3718 4010 -1760 -1370
## y.arma 4206 0 3718 4010 -1760 -1370 -6456
## y.arma 0 3718 4010 -1760 -1370 -6456 -2543

## y.arma 3718 4010 -1760 -1370 -6456 -2543 -4989
## y.arma 4010 -1760 -1370 -6456 -2543 -4989 3326
## y.arma -1760 -1370 -6456 -2543 -4989 3326 -8609
## y.arma -1370 -6456 -2543 -4989 3326 -8609 6261

## y.arma -6456 -2543 -4989 3326 -8609 6261 1369
## y.arma -2543 -4989 3326 -8609 6261 1369 3228
## y.arma -4989 3326 -8609 6261 1369 3228 6261
## y.arma 3326 -8609 6261 1369 3228 6261 5674

## y.arma -8609 6261 1369 3228 6261 5674 -1761
## y.arma 6261 1369 3228 6261 5674 -1761 -3228
## y.arma 1369 3228 6261 5674 -1761 -3228 -2348
## y.arma 3228 6261 5674 -1761 -3228 -2348 -4695

## y.arma 6261 5674 -1761 -3228 -2348 -4695 -392
## y.arma 5674 -1761 -3228 -2348 -4695 -392 1957
## y.arma -1761 -3228 -2348 -4695 -392 1957 -7337
## y.arma -3228 -2348 -4695 -392 1957 -7337 4109

## y.arma -2348 -4695 -392 1957 -7337 4109 2836
## y.arma -4695 -392 1957 -7337 4109 2836 2642
## y.arma -392 1957 -7337 4109 2836 2642 1369
## y.arma 1957 -7337 4109 2836 2642 1369 4109

## y.arma -7337 4109 2836 2642 1369 4109 2054
## y.arma 4109 2836 2642 1369 4109 2054 -1272
## y.arma 2836 2642 1369 4109 2054 -1272 -6163
## y.arma 2642 1369 4109 2054 -1272 -6163 -2054

## y.arma 1369 4109 2054 -1272 -6163 -2054 1565
## y.arma 4109 2054 -1272 -6163 -2054 1565 4402
## y.arma 2054 -1272 -6163 -2054 1565 4402 -11485
## y.arma -1272 -6163 -2054 1565 4402 -11485 6900

## y.arma -6163 -2054 1565 4402 -11485 6900 -1900
## y.arma -2054 1565 4402 -11485 6900 -1900 2000
## y.arma 1565 4402 -11485 6900 -1900 2000 4500
## y.arma 4402 -11485 6900 -1900 2000 4500 2500

## y.arma -11485 6900 -1900 2000 4500 2500 -1000
## y.arma 6900 -1900 2000 4500 2500 -1000 0
## y.arma -1900 2000 4500 2500 -1000 0 -3500
## y.arma 2000 4500 2500 -1000 0 -3500 -2500

## y.arma 4500 2500 -1000 0 -3500 -2500 0
## y.arma 2500 -1000 0 -3500 -2500 0 5000
## y.arma -1000 0 -3500 -2500 0 5000 -12000
## y.arma 0 -3500 -2500 0 5000 -12000 7000

## y.arma -3500 -2500 0 5000 -12000 7000 7990
## y.arma -2500 0 5000 -12000 7000 7990 2010
## y.arma 0 5000 -12000 7000 7990 2010 5000
## y.arma 5000 -12000 7000 7990 2010 5000 4000

## y.arma -12000 7000 7990 2010 5000 4000 -1900
## y.arma 7000 7990 2010 5000 4000 -1900 -2200
## y.arma 7990 2010 5000 4000 -1900 -2200 -1900
## y.arma 2010 5000 4000 -1900 -2200 -1900 -3000

## y.arma 5000 4000 -1900 -2200 -1900 -3000 3000
## y.arma 4000 -1900 -2200 -1900 -3000 3000 3000
## y.arma -1900 -2200 -1900 -3000 3000 3000 -12500
## y.arma -2200 -1900 -3000 3000 3000 -12500 6500

## y.arma -1900 -3000 3000 3000 -12500 6500 7901
## y.arma -3000 3000 3000 -12500 6500 7901 7099
## y.arma 3000 3000 -12500 6500 7901 7099 5305
## y.arma 3000 -12500 6500 7901 7099 5305 4160

## y.arma -12500 6500 7901 7099 5305 4160 -1465
## y.arma 6500 7901 7099 5305 4160 -1465 -3000
## y.arma 7901 7099 5305 4160 -1465 -3000 -4100
## y.arma 7099 5305 4160 -1465 -3000 -4100 -1000

## y.arma 5305 4160 -1465 -3000 -4100 -1000 0
## y.arma 4160 -1465 -3000 -4100 -1000 0 4100
## y.arma -1465 -3000 -4100 -1000 0 4100 -10163
## y.arma -3000 -4100 -1000 0 4100 -10163 8663

## y.arma -4100 -1000 0 4100 -10163 8663 4400
## y.arma -1000 0 4100 -10163 8663 4400 2100
## y.arma 0 4100 -10163 8663 4400 2100 6000
## y.arma 4100 -10163 8663 4400 2100 6000 5000

## y.arma -10163 8663 4400 2100 6000 5000 -738
## y.arma 8663 4400 2100 6000 5000 -738 -2262
## y.arma 4400 2100 6000 5000 -738 -2262 -4000
## y.arma 2100 6000 5000 -738 -2262 -4000 -3000

## y.arma 6000 5000 -738 -2262 -4000 -3000 3000
## y.arma 5000 -738 -2262 -4000 -3000 3000 6870
## y.arma -738 -2262 -4000 -3000 3000 6870 -12020
## y.arma -2262 -4000 -3000 3000 6870 -12020 7150

## y.arma -4000 -3000 3000 6870 -12020 7150 4850
## y.arma -3000 3000 6870 -12020 7150 4850 4150
## y.arma 3000 6870 -12020 7150 4850 4150 8500
## y.arma 6870 -12020 7150 4850 4150 8500 3500

## y.arma -12020 7150 4850 4150 8500 3500 -4000
## y.arma 7150 4850 4150 8500 3500 -4000 -2000
## y.arma 4850 4150 8500 3500 -4000 -2000 -5000
## y.arma 4150 8500 3500 -4000 -2000 -5000 -4000

## y.arma 8500 3500 -4000 -2000 -5000 -4000 1400
## y.arma 3500 -4000 -2000 -5000 -4000 1400 7600
## y.arma -4000 -2000 -5000 -4000 1400 7600 -10799
## y.arma -2000 -5000 -4000 1400 7600 -10799 5699

## y.arma -5000 -4000 1400 7600 -10799 5699 6925
## y.arma -4000 1400 7600 -10799 5699 6925 3979
## y.arma 1400 7600 -10799 5699 6925 3979 9196
## y.arma 7600 -10799 5699 6925 3979 9196 5000

## y.arma -10799 5699 6925 3979 9196 5000 -4000
## y.arma 5699 6925 3979 9196 5000 -4000 -1000
## y.arma 6925 3979 9196 5000 -4000 -1000 -5000
## y.arma 3979 9196 5000 -4000 -1000 -5000 0

## y.arma 9196 5000 -4000 -1000 -5000 0 4500
## y.arma 5000 -4000 -1000 -5000 0 4500 2500
## y.arma -4000 -1000 -5000 0 4500 2500 -13702
## y.arma -1000 -5000 0 4500 2500 -13702 11602

## y.arma -5000 0 4500 2500 -13702 11602 3600
## y.arma 0 4500 2500 -13702 11602 3600 4500
## y.arma 4500 2500 -13702 11602 3600 4500 6000
## y.arma 2500 -13702 11602 3600 4500 6000 2500

## y.arma -13702 11602 3600 4500 6000 2500 -4500
## y.arma 11602 3600 4500 6000 2500 -4500 0
## y.arma 3600 4500 6000 2500 -4500 0 -4000
## y.arma 4500 6000 2500 -4500 0 -4000 -3250

## y.arma 6000 2500 -4500 0 -4000 -3250 2150
## y.arma 2500 -4500 0 -4000 -3250 2150 6700
## y.arma -4500 0 -4000 -3250 2150 6700 -11600
## y.arma 0 -4000 -3250 2150 6700 -11600 8000

## y.arma -4000 -3250 2150 6700 -11600 8000 5000
## y.arma -3250 2150 6700 -11600 8000 5000 1000
## y.arma 2150 6700 -11600 8000 5000 1000 9000
## y.arma 6700 -11600 8000 5000 1000 9000 1380

## y.arma -11600 8000 5000 1000 9000 1380 -1880
## y.arma 8000 5000 1000 9000 1380 -1880 -3500
## y.arma 5000 1000 9000 1380 -1880 -3500 -6000
## y.arma 1000 9000 1380 -1880 -3500 -6000 -100

## y.arma 9000 1380 -1880 -3500 -6000 -100 100
## y.arma 1380 -1880 -3500 -6000 -100 100 5000
## y.arma -1880 -3500 -6000 -100 100 5000 -13500
## y.arma -3500 -6000 -100 100 5000 -13500 8500

## y.arma -6000 -100 100 5000 -13500 8500 5000
## y.arma -100 100 5000 -13500 8500 5000 5000
## y.arma 100 5000 -13500 8500 5000 5000 7000
## y.arma 5000 -13500 8500 5000 5000 7000 2990

## y.arma -13500 8500 5000 5000 7000 2990 -2990
## y.arma 8500 5000 5000 7000 2990 -2990 -2000
## y.arma 5000 5000 7000 2990 -2990 -2000 -3000
## y.arma 5000 7000 2990 -2990 -2000 -3000 -960

## y.arma 7000 2990 -2990 -2000 -3000 -960 -1040
## y.arma 2990 -2990 -2000 -3000 -960 -1040 9000
## y.arma -2990 -2000 -3000 -960 -1040 9000 -16000
## y.arma -2000 -3000 -960 -1040 9000 -16000 11000

## y.arma -3000 -960 -1040 9000 -16000 11000 4900
## y.arma -960 -1040 9000 -16000 11000 4900 1000
## y.arma -1040 9000 -16000 11000 4900 1000 -900
## y.arma 9000 -16000 11000 4900 1000 -900 11000

## y.arma -16000 11000 4900 1000 -900 11000 9000
## y.arma 11000 4900 1000 -900 11000 9000 -3854
## y.arma 4900 1000 -900 11000 9000 -3854 -146
## y.arma 1000 -900 11000 9000 -3854 -146 4000

## y.arma -900 11000 9000 -3854 -146 4000 900
## y.arma 11000 9000 -3854 -146 4000 900 100
## y.arma 9000 -3854 -146 4000 900 100 -8000
## y.arma -3854 -146 4000 900 100 -8000 13000

## y.arma -146 4000 900 100 -8000 13000 7888
## y.arma 4000 900 100 -8000 13000 7888 7612
## y.arma 900 100 -8000 13000 7888 7612 9750
## y.arma 100 -8000 13000 7888 7612 9750 9750

## y.arma -8000 13000 7888 7612 9750 9750 0
## y.arma 13000 7888 7612 9750 9750 0 0
## y.arma 7888 7612 9750 9750 0 0 -2000
## y.arma 7612 9750 9750 0 0 -2000 2000

## y.arma 9750 9750 0 0 -2000 2000 5000
## y.arma 9750 0 0 -2000 2000 5000 6000
## y.arma 0 0 -2000 2000 5000 6000 -7504
## y.arma 0 -2000 2000 5000 6000 -7504 11504

## y.arma -2000 2000 5000 6000 -7504 11504 10000
## y.arma 2000 5000 6000 -7504 11504 10000 14750
## y.arma 5000 6000 -7504 11504 10000 14750 10250
## y.arma 6000 -7504 11504 10000 14750 10250 0

## y.arma -7504 11504 10000 14750 10250 0 -10000
## y.arma 11504 10000 14750 10250 0 -10000 -6128
## y.arma 10000 14750 10250 0 -10000 -6128 -3502
## y.arma 14750 10250 0 -10000 -6128 -3502 -5370

## y.arma 10250 0 -10000 -6128 -3502 -5370 -5000
## y.arma 0 -10000 -6128 -3502 -5370 -5000 1000
## y.arma -10000 -6128 -3502 -5370 -5000 1000 -12000
## y.arma -6128 -3502 -5370 -5000 1000 -12000 6000

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 2288 5481 7842 9854 11843 36210
## [1] "The Rolling Window RMSE is: 9854.404"
RW_RMSE_ARIMA_S # 9854.404
## $rwRMSE
## [1] 9854.404
##
## $trainingSize
## [1] 8
##
## $numwindows
## [1] 187
##
## $horizon
## [1] 6
##
## $s
## [1] 0
##
## $d
## [1] 1
##
## $phi
## [1] -0.38215860 0.06373302 0.53965065 -0.05670907 -0.35932674
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 7612.254 3174.559 4298.868 3967.573 4193.058 7337.535 9932.462
## [8] 7007.905 4489.023 7912.600 9566.721 13081.893 11730.093 4873.169
## [15] 3428.500 5932.679 6430.509 12469.420 10895.461 10121.879 4890.488
## [22] 5159.885 8745.343 10981.799 5511.794 2288.278 3197.311 3212.658
## [29] 3694.816 8873.001 9715.216 8116.613 3275.158 3477.458 3678.126
## [36] 8298.725 8369.035 4614.974 5836.227 4510.303 6935.945 6469.418
## [43] 7620.954 9042.344 2599.668 3714.834 4638.441 7469.046 5105.494
## [50] 4903.351 6877.592 9126.486 7775.947 16072.359 16700.594 10395.480
## [57] 3035.747 4636.580 2710.482 5543.111 4032.680 5154.591 8463.254
## [64] 9385.091 10450.884 20453.734 22865.716 16036.227 4160.126 7351.592
## [71] 5196.587 5696.572 3650.409 6019.129 7125.709 7806.911 7674.315
## [78] 16424.434 15291.614 10759.906 3452.566 3298.731 4314.071 7349.846
## [85] 4573.345 7427.201 10632.398 10414.341 8294.976 15628.605 17749.911
## [92] 14902.918 5179.017 9285.925 9370.956 8225.013 3660.533 6674.905
## [99] 9392.654 11613.538 9537.176 16557.560 19713.440 16547.659 5897.225
## [106] 5489.062 6250.329 5846.114 4740.811 9625.044 9176.588 7842.028
## [113] 8507.620 18175.973 17552.212 11245.920 5003.837 6854.186 5473.245
## [120] 4881.444 3224.738 5958.198 7600.705 9398.594 6903.375 13882.113
## [127] 14405.171 11076.840 4898.445 8756.927 7611.317 10307.008 5115.195
## [134] 6550.382 7109.558 8628.568 8627.713 17773.542 18324.415 13320.735
## [141] 3405.693 7075.880 5737.784 6295.850 4509.471 7140.825 7216.788
## [148] 7521.086 6589.255 18768.184 18458.116 16306.904 10140.143 15621.961
## [155] 14576.968 5027.091 6803.032 12458.166 16784.714 16870.608 21859.073
## [162] 36209.913 32044.747 21637.337 10987.475 9402.440 7924.627 6766.473
## [169] 11955.667 20213.011 23852.732 24970.416 24484.593 32982.974 30175.064
## [176] 19877.808 11710.948 22743.220 21280.072 12921.248 6197.197 7082.039
## [183] 9164.375 7793.912 9513.677 18410.011 17194.795
# Short-term ARUMA for home_price
hp.12 = artrans.wge(hp.d1, phi.tr = c(rep(0,11),1))


aic5.wge(hp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 2 16.26728
## 4 3 16.27608
## 4 2 16.27779
## 5 2 16.27918
## 3 3 16.28210
est.hp.12 = est.arma.wge(hp.12, p = 2, q = 2)
##
##
## Coefficients of AR polynomial:
## -0.7398 -0.8429
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.7398B+0.8429B^2 -0.4389+-0.9969i 0.9181 0.3160
##
##
##
##
## Coefficients of MA polynomial:
## -0.9492 -0.9455
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.9492B+0.9455B^2 -0.5020+-0.8976i 0.9724 0.3312
##
##
preds = fore.aruma.wge(df_train_s$home_price, phi = est.hp.12$phi, s = 12, d = 1, n.ahead = 6, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 15
## phitot.fore 0.26017 -0.1030587 0.8428887 0 0 0 0 0 0 0 0 1 -0.26017 0.1030587 -0.8428887


ASE_ARUMA_S = mean((df_test_s$home_price[(length(df_test_s$home_price)-6+1)] - preds$f)^2)
ASE_ARUMA_S # 261542338
## [1] 261542338
RW_RMSE_ARUMA_S = roll.win.rmse.wge(df_train_s$home_price, horizon = 6, s=12, d=1, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 178 windows."
## y.arma 1173 391 -1663 979

## y.arma 391 -1663 979 -1663

## y.arma -1663 979 -1663 979

## y.arma 979 -1663 979 -1859

## y.arma -1663 979 -1859 -783

## y.arma 979 -1859 -783 685

## y.arma -1859 -783 685 -6260

## y.arma -783 685 -6260 685

## y.arma 685 -6260 685 -99

## y.arma -6260 685 -99 2544

## y.arma 685 -99 2544 -2837

## y.arma -99 2544 -2837 3228

## y.arma 2544 -2837 3228 2543

## y.arma -2837 3228 2543 1664

## y.arma 3228 2543 1664 -1

## y.arma 2543 1664 -1 -1858

## y.arma 1664 -1 -1858 4108

## y.arma -1 -1858 4108 -2152

## y.arma -1858 4108 -2152 4597

## y.arma 4108 -2152 4597 -1369

## y.arma -2152 4597 -1369 1272

## y.arma 4597 -1369 1272 -2152

## y.arma -1369 1272 -2152 1467

## y.arma 1272 -2152 1467 -586

## y.arma -2152 1467 -586 -4892

## y.arma 1467 -586 -4892 -1565

## y.arma -586 -4892 -1565 3815

## y.arma -4892 -1565 3815 1956

## y.arma -1565 3815 1956 -3815

## y.arma 3815 1956 -3815 2641

## y.arma 1956 -3815 2641 1957

## y.arma -3815 2641 1957 2445

## y.arma 2641 1957 2445 -4148

## y.arma 1957 2445 -4148 2791

## y.arma 2445 -4148 2791 -4736

## y.arma -4148 2791 -4736 -642

## y.arma 2791 -4736 -642 3131

## y.arma -4736 -642 3131 -1609

## y.arma -642 3131 -1609 -3054

## y.arma 3131 -1609 -3054 1272

## y.arma -1609 -3054 1272 2663

## y.arma -3054 1272 2663 -446

## y.arma 1272 2663 -446 -1565

## y.arma 2663 -446 -1565 598

## y.arma -446 -1565 598 -515

## y.arma -1565 598 -515 100

## y.arma 598 -515 100 9890

## y.arma -515 100 9890 10

## y.arma 100 9890 10 500

## y.arma 9890 10 500 1500

## y.arma 10 500 1500 -900

## y.arma 500 1500 -900 -2200

## y.arma 1500 -900 -2200 1600

## y.arma -900 -2200 1600 -500

## y.arma -2200 1600 -500 3000

## y.arma 1600 -500 3000 -2000

## y.arma -500 3000 -2000 -500

## y.arma 3000 -2000 -500 -500

## y.arma -2000 -500 -500 -89

## y.arma -500 -500 -89 5089

## y.arma -500 -89 5089 305

## y.arma -89 5089 305 160

## y.arma 5089 305 160 435

## y.arma 305 160 435 -800

## y.arma 160 435 -800 -2200

## y.arma 435 -800 -2200 2000

## y.arma -800 -2200 2000 -3000

## y.arma -2200 2000 -3000 1100

## y.arma 2000 -3000 1100 2337

## y.arma -3000 1100 2337 2163

## y.arma 1100 2337 2163 -3501

## y.arma 2337 2163 -3501 -4999

## y.arma 2163 -3501 -4999 695

## y.arma -3501 -4999 695 840

## y.arma -4999 695 840 727

## y.arma 695 840 727 738

## y.arma 840 727 738 100

## y.arma 727 738 100 -2000

## y.arma 738 100 -2000 3000

## y.arma 100 -2000 3000 2770

## y.arma -2000 3000 2770 -1857

## y.arma 3000 2770 -1857 -1513

## y.arma 2770 -1857 -1513 450

## y.arma -1857 -1513 450 2050

## y.arma -1513 450 2050 2500

## y.arma 450 2050 2500 -1500

## y.arma 2050 2500 -1500 -3262

## y.arma 2500 -1500 -3262 262

## y.arma -1500 -3262 262 -1000

## y.arma -3262 262 -1000 -1000

## y.arma 262 -1000 -1000 -1600

## y.arma -1000 -1000 -1600 730

## y.arma -1000 -1600 730 1221

## y.arma -1600 730 1221 -1451

## y.arma 730 1221 -1451 2075

## y.arma 1221 -1451 2075 -171

## y.arma -1451 2075 -171 696

## y.arma 2075 -171 696 1500

## y.arma -171 696 1500 0

## y.arma 696 1500 0 1000

## y.arma 1500 0 1000 0

## y.arma 0 1000 0 4000

## y.arma 1000 0 4000 3100

## y.arma 0 4000 3100 -5100

## y.arma 4000 3100 -5100 -2903

## y.arma 3100 -5100 -2903 5903

## y.arma -5100 -2903 5903 -3325

## y.arma -2903 5903 -3325 521

## y.arma 5903 -3325 521 -3196

## y.arma -3325 521 -3196 -2500

## y.arma 521 -3196 -2500 -500

## y.arma -3196 -2500 -500 1000

## y.arma -2500 -500 1000 1000

## y.arma -500 1000 1000 -3250

## y.arma 1000 1000 -3250 -2350

## y.arma 1000 -3250 -2350 4200

## y.arma -3250 -2350 4200 2102

## y.arma -2350 4200 2102 -3602

## y.arma 4200 2102 -3602 1400

## y.arma 2102 -3602 1400 -3500

## y.arma -3602 1400 -3500 3000

## y.arma 1400 -3500 3000 -1120

## y.arma -3500 3000 -1120 2620

## y.arma 3000 -1120 2620 -3500

## y.arma -1120 2620 -3500 -2000

## y.arma 2620 -3500 -2000 3150

## y.arma -3500 -2000 3150 -2050

## y.arma -2000 3150 -2050 -1700

## y.arma 3150 -2050 -1700 -1900

## y.arma -2050 -1700 -1900 500

## y.arma -1700 -1900 500 0

## y.arma -1900 500 0 4000

## y.arma 500 0 4000 -2000

## y.arma 0 4000 -2000 1610

## y.arma 4000 -2000 1610 -1110

## y.arma -2000 1610 -1110 1500

## y.arma 1610 -1110 1500 3000

## y.arma -1110 1500 3000 -860

## y.arma 1500 3000 -860 -1140

## y.arma 3000 -860 -1140 4000

## y.arma -860 -1140 4000 -2500

## y.arma -1140 4000 -2500 2500

## y.arma 4000 -2500 2500 -100

## y.arma -2500 2500 -100 -4000

## y.arma 2500 -100 -4000 -7900

## y.arma -100 -4000 -7900 8010

## y.arma -4000 -7900 8010 11990

## y.arma -7900 8010 11990 -1854

## y.arma 8010 11990 -1854 2854

## y.arma 11990 -1854 2854 4960

## y.arma -1854 2854 4960 1940

## y.arma 2854 4960 1940 -8900

## y.arma 4960 1940 -8900 8000

## y.arma 1940 -8900 8000 2000

## y.arma -8900 8000 2000 2988

## y.arma 8000 2000 2988 6612

## y.arma 2000 2988 6612 10650

## y.arma 2988 6612 10650 -1250

## y.arma 6612 10650 -1250 -9000

## y.arma 10650 -1250 -9000 3854

## y.arma -1250 -9000 3854 -1854

## y.arma -9000 3854 -1854 -2000

## y.arma 3854 -1854 -2000 4100

## y.arma -1854 -2000 4100 5900

## y.arma -2000 4100 5900 496

## y.arma 4100 5900 496 -1496

## y.arma 5900 496 -1496 2112

## y.arma 496 -1496 2112 7138

## y.arma -1496 2112 7138 500

## y.arma 2112 7138 500 -9750

## y.arma 7138 500 -9750 -10000

## y.arma 500 -9750 -10000 -6128

## y.arma -9750 -10000 -6128 -1502

## y.arma -10000 -6128 -1502 -7370

## y.arma -6128 -1502 -7370 -10000

## y.arma -1502 -7370 -10000 -5000

## y.arma -7370 -10000 -5000 -4496

## y.arma -10000 -5000 -4496 -5504


## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1355 3405 6494 8650 11033 45252
## [1] "The Rolling Window RMSE is: 8650.16"
RW_RMSE_ARUMA_S # 8650.16
## $rwRMSE
## [1] 8650.16
##
## $trainingSize
## [1] 17
##
## $numwindows
## [1] 178
##
## $horizon
## [1] 6
##
## $s
## [1] 12
##
## $d
## [1] 1
##
## $phi
## [1] -0.002148641 0.997349901
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 2922.069 3453.452 4139.833 3793.916 2692.029 4518.780 12481.700
## [8] 15788.596 3716.212 2330.292 6491.302 5363.758 8582.198 6497.638
## [15] 2150.615 7957.524 2453.171 2257.827 6384.226 10247.706 3826.222
## [22] 2792.404 3188.393 5836.823 12603.098 18636.681 3400.963 11138.126
## [29] 6195.606 4857.976 10928.373 12921.909 2147.235 2273.564 3896.855
## [36] 12436.059 6374.155 4970.529 11040.101 5662.972 7164.437 4230.811
## [43] 10761.266 10510.047 9453.320 11236.857 17291.600 20937.900 1354.635
## [50] 4822.225 2557.384 7504.364 2397.118 2216.022 4983.154 2849.489
## [57] 9020.758 6747.154 6214.442 9113.338 12720.553 2936.818 3344.632
## [64] 2309.168 7370.778 2931.334 3350.032 4580.834 10505.924 14888.128
## [71] 3769.106 18058.739 11384.933 1555.653 1772.837 2280.206 1784.011
## [78] 6966.803 2352.878 11879.827 3022.246 8511.340 4032.384 6867.621
## [85] 14188.209 7690.192 7171.491 4344.481 1484.110 4116.472 6956.026
## [92] 4330.001 2325.942 3492.975 1927.244 1570.041 4220.164 2143.790
## [99] 2942.228 3129.766 3172.770 8799.098 19331.821 3767.742 15838.603
## [106] 10882.661 11050.034 2281.524 2235.069 10334.176 6794.135 2762.708
## [113] 6091.538 4645.624 14098.551 4827.606 15499.551 2255.285 3718.657
## [120] 4922.273 2512.011 6244.880 7469.547 3265.502 9889.496 5041.609
## [127] 5258.622 8216.868 9702.097 6047.222 3171.229 6260.364 2827.806
## [134] 4200.027 2652.543 3255.407 7685.433 4470.585 5338.493 9466.804
## [141] 7267.483 6791.248 7518.433 18484.315 43138.309 18775.905 34284.314
## [148] 15908.216 6123.197 11013.403 9326.981 31627.056 20027.035 9990.797
## [155] 7047.728 16326.095 39645.704 25748.719 24407.159 16379.640 3417.529
## [162] 18581.468 7380.114 16361.120 15596.332 8775.930 13486.799 39235.986
## [169] 45252.211 11068.683 15831.035 10170.318 10400.351 9113.262 13113.420
## [176] 12425.224 7874.197 13599.611
# Short-term Signal-Plus Noise for home_price
wbg.boot.wge(df_train_s$home_price) # p-value 0.06516291 <- FTR
## $p
## [1] 1
##
## $phi
## [1] 0.995765
##
## $pv
## [1] 0.04260652
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.
# Long-term ARMA for cpi
aic5.wge(df_train_l$cpi, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 3 0 -0.4122248
## 2 1 -0.4110696
## 4 1 -0.4040163
## 1 2 -0.4037133
## 3 1 -0.4032691
est.cpi = est.arma.wge(df_train_l$cpi, p = 3, q = 0)
##
##
## Coefficients of AR polynomial:
## 1.5973 -0.7740 0.1755
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.9979B 1.0021 0.9979 0.0000
## 1-0.5994B+0.1759B^2 1.7039+-1.6680i 0.4194 0.1233
##
##
preds = fore.arma.wge(df_train_l$cpi, phi = est.cpi$phi, n.ahead = 60, lastn = TRUE)

ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 333.8962
## [1] 333.8962
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 43.68068
## [1] 43.68068
# Long-term ARIMA for cpi
cpi.d1 = artrans.wge(df_train_l$cpi, phi.tr = 1)

aic5.wge(cpi.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 2 -0.4840233
## 2 0 -0.4820840
## 0 1 -0.4751818
## 0 2 -0.4734151
## 5 1 -0.4725518
est.cpi.d1 = est.arma.wge(cpi.d1, p = 2, q = 2)
##
##
## Coefficients of AR polynomial:
## 1.1945 -0.3260
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.7724B 1.2947 0.7724 0.0000
## 1-0.4221B 2.3692 0.4221 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## 0.7367 0.2633
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1-1.0000B 1.0000 1.0000 0.0000
## 1+0.2633B -3.7974 0.2633 0.5000
##
##
preds = fore.arima.wge(df_train_l$cpi, phi = est.cpi.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma 0.821 1.047 1.387 0.753 0.474 0.179 -0.056 0.435 0.7 0.736 0.484 0.616 0.493 1.286 0.394 2.073 2.611 1.516 -1.342 0.014 -1.698 -3.707 -1.809 0.725 1.11 0.443 0.886 -0.34 1.894 -0.332 0.058 0.404 -0.002 0.049 -0.584 0.579 0.438 0.308 0.593 -0.037 0.174 -0.821 0.333 0.747 0.033 -0.442 -0.176 1.306 1.411 2.344 1.905 0.721 -0.743 0.105 0.766 0.193 -0.893 0.145 -0.634 0.659 1.927 2.022 0.444 -0.638 -0.664 -0.491 0.32 1.25 -0.407 -1.008 -0.634 0.984 2.195 0.778 0.514 -0.1 0.261 0.436 0.438 0.035 -0.795 -0.741 1.216 0.82 0.975 1.494 0.461 0.449 0.511 -0.269 -0.425 0.183 -0.012 -1.4 -1.347 -1.028 0.021 1.453 0.675 0.819 0.57 -0.28 0.216 -0.597 0.077 -0.379 -0.961 0.577 0.698 1.229 0.561 0.837 0.822 -0.143 -0.084 0.367 0.687 -0.14 -0.015 1.01 0.367 0.089 0.638 0.503 0.485 -0.004 0.639 1.969 0.321 0.223 -0.892 0.561 1.487 0.305 0.406 1.891 0.857 -0.411 -0.486 0.563 0.958 -0.627 -0.749 0.304 0.402
ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 0.2092139
## [1] 0.2092139
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 27.76933
## [1] 27.76933
# Long-term ARUMA for cpi
cpi.12 = artrans.wge(cpi.d1, phi.tr = c(rep(0,11),1))


aic5.wge(cpi.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 3 1 -0.05959009
## 1 0 -0.03775819
## 0 1 -0.03279383
## 0 2 -0.03004617
## 2 0 -0.02974035
est.cpi12 = est.arma.wge(cpi.12, p = 3, q = 1)
##
##
## Coefficients of AR polynomial:
## 1.3378 -0.4376 0.0125
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.8271B 1.2091 0.8271 0.0000
## 1-0.4791B 2.0873 0.4791 0.0000
## 1-0.0316B 31.6026 0.0316 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## 1.0000
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1-1.0000B 1.0000 1.0000 0.0000
##
##
preds = fore.aruma.wge(df_train_l$cpi, phi = est.cpi12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 16
## phitot.fore 2.337787 -1.775351 0.4501026 -0.01253804 0 0 0 0 0 0 0 1 -2.337787 1.775351 -0.4501026 0.01253804


ASE = mean((df_test_l$cpi[(length(df_test_l$cpi)-60+1)] - preds$f)^2)
ASE # 408.5312
## [1] 408.5312
RMSE = sqrt(mean((df_test_l$cpi - preds$f[1:60])^2))
RMSE # 47.84829
## [1] 47.84829
# Long-term Signal-Plus Noise for cpi
wbg.boot.wge(df_train_l$cpi) # p-value 0 <- Reject
## $p
## [1] 3
##
## $phi
## [1] 1.5972684 -0.7775481 0.1765905
##
## $pv
## [1] 0
# Long-term ARMA for unemp
aic5.wge(df_train_l$unemp, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 1 0
## Five Smallest Values of aic
## p q aic
## 2 1 -4.446769
## 3 1 -4.443593
## 2 2 -4.440981
## 2 3 -4.433670
## 4 1 -4.433296
est.unemp = est.arma.wge(df_train_l$unemp, p = 2, q = 1)
##
##
## Coefficients of AR polynomial:
## 1.8478 -0.8527
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.9543B 1.0479 0.9543 0.0000
## 1-0.8935B 1.1191 0.8935 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## 0.4447
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1-0.4447B 2.2485 0.4447 0.0000
##
##
preds = fore.arma.wge(df_train_l$unemp, phi = est.unemp$phi, n.ahead = 60, lastn = TRUE)

ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 5.683878
## [1] 5.683878
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 2.350637
## [1] 2.350637
# Long-term ARIMA for unemp
unemp.d1 = artrans.wge(df_train_l$unemp, phi.tr = 1)

aic5.wge(unemp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 1 1 -4.442154
## 2 0 -4.433202
## 2 1 -4.432101
## 1 2 -4.431423
## 3 0 -4.423115
est.unemp.d1 = est.arma.wge(unemp.d1, p = 1, q = 1)
##
##
## Coefficients of AR polynomial:
## 0.8320
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.8320B 1.2020 0.8320 0.0000
##
##
##
##
## Coefficients of MA polynomial:
## 0.3990
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1-0.3990B 2.5061 0.3990 0.0000
##
##
preds = fore.arima.wge(df_train_l$unemp, phi = est.unemp.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma -0.1 0 -0.1 0 0 0 0 0.1 0 0 0 -0.1 0 0 0.1 0.1 0.2 0.1 0.2 0.2 0.2 0.2 0.3 0.2 0.2 0.1 0.1 1 0.5 0.2 0.1 0 0 0 0 0 0 0 -0.1 0 -0.1 0 0 0 0.1 0 0 0 0 -0.1 0 0.1 0.1 0 -0.1 -0.2 -0.2 -0.3 -0.2 -0.2 -0.1 -0.3 0.1 0 0 -0.1 -0.1 -0.1 0 0 0 0 0.1 -0.1 0 -0.1 0 -0.1 0 -0.1 -0.1 -0.1 -0.2 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 -0.1 -0.1 -0.1 -0.2 0 -0.1 0 0 -0.1 0 0 0.1 0 0 0 0 0 -0.1 0.1 0 0.1 0.1 0 0 0.1 0 0 0 0 -0.1 -0.1 -0.1 -0.1 -0.1 -0.1 0 -0.1 0 0 0 0 -0.1 0 0 -0.1 0 0 -0.1 0 0 0 0 -0.1 -0.1
ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 0.1330498
## [1] 0.1330498
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 2.732234
## [1] 2.732234
# Long-term ARUMA for unemp
unemp.12 = artrans.wge(unemp.d1, phi.tr = c(rep(0,11),1))


aic5.wge(unemp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 0 -3.777977
## 1 1 -3.777924
## 1 0 -3.775468
## 1 2 -3.763453
## 2 1 -3.762939
est.unemp.12 = est.arma.wge(unemp.12, p = 2, q = 0)
##
##
## Coefficients of AR polynomial:
## 0.5122 0.1310
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.6995B 1.4295 0.6995 0.0000
## 1+0.1873B -5.3384 0.1873 0.5000
##
##
preds = fore.aruma.wge(df_train_l$unemp, phi = est.unemp.12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 15
## phitot.fore 1.51221 -0.3811729 -0.1310371 0 0 0 0 0 0 0 0 1 -1.51221 0.3811729 0.1310371


ASE = mean((df_test_l$unemp[(length(df_test_l$unemp)-60+1)] - preds$f)^2)
ASE # 1.336393
## [1] 1.336393
RMSE = sqrt(mean((df_test_l$unemp - preds$f[1:60])^2))
RMSE # 3.116287
## [1] 3.116287
# Long-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_l$unemp) # p-value 0.28070818 <- FTR
## $p
## [1] 3
##
## $phi
## [1] 1.4629417 -0.2564122 -0.2140549
##
## $pv
## [1] 0.273183
# Therefore, we will fit the above models only instead of continuing to look for a linear signal.
# Long-term ARMA for home_price
aic5.wge(df_train_l$home_price, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 2 1
## Error in aic calculation at 3 3
## Error in aic calculation at 4 2
## Error in aic calculation at 5 1
## Error in aic calculation at 5 2
## Error in aic calculation at 5 3
## Five Smallest Values of aic
## p q aic
## 1 0 17.17049
## 2 0 17.17439
## 1 1 17.17512
## 1 2 17.18505
## 3 0 17.18738
est.hp = est.arma.wge(df_train_l$home_price, p = 1, q = 0)
##
##
## Coefficients of AR polynomial:
## 0.9908
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1-0.9908B 1.0092 0.9908 0.0000
##
##
preds = fore.arma.wge(df_train_l$home_price, phi = est.hp$phi, n.ahead = 60, lastn = TRUE)

ASE_ARMA_L = mean((df_test_l$home_price[1:60] - preds$f)^2)
ASE_ARMA_L # 4583718241
## [1] 18852254446
RW_RMSE_ARMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 139 windows."

## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7174 14920 26000 29023 36116 74714
## [1] "The Rolling Window RMSE is: 29022.996"
RW_RMSE_ARMA_L # 29022.996
## $rwRMSE
## [1] 29023
##
## $trainingSize
## [1] 2
##
## $numwindows
## [1] 139
##
## $horizon
## [1] 60
##
## $s
## [1] 0
##
## $d
## [1] 0
##
## $phi
## [1] 0.9908456
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 13814.783 15663.242 16426.678 17841.641 21308.614 19166.208 19244.668
## [8] 15231.619 13052.541 13550.657 14908.770 10100.518 11760.162 13935.586
## [15] 13582.097 15646.388 18061.470 16483.520 15185.106 10695.227 9017.852
## [22] 7193.491 7852.119 8184.695 7173.998 7315.874 7880.601 10375.332
## [29] 13531.313 12283.329 10453.814 9430.413 8778.663 9035.320 9273.796
## [36] 11612.059 10417.531 10101.706 10143.221 10773.594 11456.691 12082.532
## [43] 12383.801 13755.511 14932.213 14791.891 13946.365 19518.770 16468.006
## [50] 18180.584 17996.766 16970.502 17157.228 18551.148 19481.444 21988.856
## [57] 24202.828 25161.121 23288.537 31331.358 27750.181 23889.721 23783.046
## [64] 22299.113 21578.282 23402.103 25472.495 27358.265 29902.531 28919.685
## [71] 28108.810 36725.200 33327.615 29269.608 25999.955 24291.450 23394.031
## [78] 24998.055 27333.149 30311.438 31621.830 32339.675 30665.383 37655.716
## [85] 32717.350 30720.591 30272.453 27735.698 26053.739 27299.011 29331.684
## [92] 32409.499 35011.450 33804.980 30470.058 38609.414 34640.221 32355.456
## [99] 30576.744 26396.367 25568.650 28904.192 31104.428 35140.816 38848.555
## [106] 39134.167 35506.647 43304.307 40790.702 37819.971 37040.993 33851.992
## [113] 33684.697 37738.894 40261.191 44772.988 46626.712 46137.802 46918.907
## [120] 56327.847 51795.760 52238.558 52784.288 53065.684 54884.819 59290.625
## [127] 61374.854 65241.793 68634.816 69037.748 67093.764 74431.244 71346.709
## [134] 70060.597 71027.915 68116.369 69093.441 71542.463 74714.099
# Long-term ARIMA for home_price
hp.d1 = artrans.wge(df_train_l$home_price, phi.tr = 1)

aic5.wge(hp.d1, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Error in aic calculation at 3 2
## Error in aic calculation at 3 3
## Error in aic calculation at 4 2
## Five Smallest Values of aic
## p q aic
## 2 3 17.00517
## 5 1 17.01181
## 4 1 17.04532
## 5 0 17.07878
## 5 2 17.09418
est.hp.d1 = est.arma.wge(hp.d1, p = 2, q = 3)
##
##
## Coefficients of AR polynomial:
## -0.9961 -0.9922
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.9961B+0.9922B^2 -0.5020+-0.8694i 0.9961 0.3333
##
##
##
##
## Coefficients of MA polynomial:
## -0.9962 -1.0576 -0.0616
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.9346B+1.0000B^2 -0.4673+-0.8841i 1.0000 0.3274
## 1+0.0616B -16.2319 0.0616 0.5000
##
##
preds_ARIMA_L = fore.arima.wge(df_train_l$home_price, phi = est.hp.d1$phi, d = 1, n.ahead = 60, lastn = F)
## y.arma 2544 3815 1663 2739 5673 -2739 489 -5673 -3228 1271 2641 -8510 3717 4206 0 3718 4010 -1760 -1370 -6456 -2543 -4989 3326 -8609 6261 1369 3228 6261 5674 -1761 -3228 -2348 -4695 -392 1957 -7337 4109 2836 2642 1369 4109 2054 -1272 -6163 -2054 1565 4402 -11485 6900 -1900 2000 4500 2500 -1000 0 -3500 -2500 0 5000 -12000 7000 7990 2010 5000 4000 -1900 -2200 -1900 -3000 3000 3000 -12500 6500 7901 7099 5305 4160 -1465 -3000 -4100 -1000 0 4100 -10163 8663 4400 2100 6000 5000 -738 -2262 -4000 -3000 3000 6870 -12020 7150 4850 4150 8500 3500 -4000 -2000 -5000 -4000 1400 7600 -10799 5699 6925 3979 9196 5000 -4000 -1000 -5000 0 4500 2500 -13702 11602 3600 4500 6000 2500 -4500 0 -4000 -3250 2150 6700 -11600 8000 5000 1000 9000 1380 -1880 -3500 -6000 -100 100 5000 -13500 8500
ASE_ARIMA_L = mean((df_test_l$home_price[1:60] - preds_ARIMA_L$f)^2)
ASE_ARIMA_L # 62540456
## [1] 6392665503
RW_RMSE_ARIMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, d=1, phi = est.hp.d1$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 136 windows."
## y.arma 2544 3815 1663 2739
## y.arma 3815 1663 2739 5673
## y.arma 1663 2739 5673 -2739

## y.arma 2739 5673 -2739 489
## y.arma 5673 -2739 489 -5673
## y.arma -2739 489 -5673 -3228
## y.arma 489 -5673 -3228 1271

## y.arma -5673 -3228 1271 2641
## y.arma -3228 1271 2641 -8510
## y.arma 1271 2641 -8510 3717
## y.arma 2641 -8510 3717 4206

## y.arma -8510 3717 4206 0
## y.arma 3717 4206 0 3718
## y.arma 4206 0 3718 4010
## y.arma 0 3718 4010 -1760

## y.arma 3718 4010 -1760 -1370
## y.arma 4010 -1760 -1370 -6456
## y.arma -1760 -1370 -6456 -2543
## y.arma -1370 -6456 -2543 -4989

## y.arma -6456 -2543 -4989 3326
## y.arma -2543 -4989 3326 -8609
## y.arma -4989 3326 -8609 6261
## y.arma 3326 -8609 6261 1369

## y.arma -8609 6261 1369 3228
## y.arma 6261 1369 3228 6261
## y.arma 1369 3228 6261 5674
## y.arma 3228 6261 5674 -1761

## y.arma 6261 5674 -1761 -3228
## y.arma 5674 -1761 -3228 -2348
## y.arma -1761 -3228 -2348 -4695
## y.arma -3228 -2348 -4695 -392

## y.arma -2348 -4695 -392 1957
## y.arma -4695 -392 1957 -7337
## y.arma -392 1957 -7337 4109
## y.arma 1957 -7337 4109 2836

## y.arma -7337 4109 2836 2642
## y.arma 4109 2836 2642 1369
## y.arma 2836 2642 1369 4109
## y.arma 2642 1369 4109 2054

## y.arma 1369 4109 2054 -1272
## y.arma 4109 2054 -1272 -6163
## y.arma 2054 -1272 -6163 -2054
## y.arma -1272 -6163 -2054 1565

## y.arma -6163 -2054 1565 4402
## y.arma -2054 1565 4402 -11485
## y.arma 1565 4402 -11485 6900
## y.arma 4402 -11485 6900 -1900

## y.arma -11485 6900 -1900 2000
## y.arma 6900 -1900 2000 4500
## y.arma -1900 2000 4500 2500
## y.arma 2000 4500 2500 -1000

## y.arma 4500 2500 -1000 0
## y.arma 2500 -1000 0 -3500
## y.arma -1000 0 -3500 -2500
## y.arma 0 -3500 -2500 0

## y.arma -3500 -2500 0 5000
## y.arma -2500 0 5000 -12000
## y.arma 0 5000 -12000 7000
## y.arma 5000 -12000 7000 7990

## y.arma -12000 7000 7990 2010
## y.arma 7000 7990 2010 5000
## y.arma 7990 2010 5000 4000
## y.arma 2010 5000 4000 -1900

## y.arma 5000 4000 -1900 -2200
## y.arma 4000 -1900 -2200 -1900
## y.arma -1900 -2200 -1900 -3000
## y.arma -2200 -1900 -3000 3000

## y.arma -1900 -3000 3000 3000
## y.arma -3000 3000 3000 -12500
## y.arma 3000 3000 -12500 6500
## y.arma 3000 -12500 6500 7901

## y.arma -12500 6500 7901 7099
## y.arma 6500 7901 7099 5305
## y.arma 7901 7099 5305 4160
## y.arma 7099 5305 4160 -1465

## y.arma 5305 4160 -1465 -3000
## y.arma 4160 -1465 -3000 -4100
## y.arma -1465 -3000 -4100 -1000
## y.arma -3000 -4100 -1000 0

## y.arma -4100 -1000 0 4100
## y.arma -1000 0 4100 -10163
## y.arma 0 4100 -10163 8663
## y.arma 4100 -10163 8663 4400

## y.arma -10163 8663 4400 2100
## y.arma 8663 4400 2100 6000
## y.arma 4400 2100 6000 5000
## y.arma 2100 6000 5000 -738

## y.arma 6000 5000 -738 -2262
## y.arma 5000 -738 -2262 -4000
## y.arma -738 -2262 -4000 -3000
## y.arma -2262 -4000 -3000 3000

## y.arma -4000 -3000 3000 6870
## y.arma -3000 3000 6870 -12020
## y.arma 3000 6870 -12020 7150
## y.arma 6870 -12020 7150 4850

## y.arma -12020 7150 4850 4150
## y.arma 7150 4850 4150 8500
## y.arma 4850 4150 8500 3500
## y.arma 4150 8500 3500 -4000

## y.arma 8500 3500 -4000 -2000
## y.arma 3500 -4000 -2000 -5000
## y.arma -4000 -2000 -5000 -4000
## y.arma -2000 -5000 -4000 1400

## y.arma -5000 -4000 1400 7600
## y.arma -4000 1400 7600 -10799
## y.arma 1400 7600 -10799 5699
## y.arma 7600 -10799 5699 6925

## y.arma -10799 5699 6925 3979
## y.arma 5699 6925 3979 9196
## y.arma 6925 3979 9196 5000
## y.arma 3979 9196 5000 -4000

## y.arma 9196 5000 -4000 -1000
## y.arma 5000 -4000 -1000 -5000
## y.arma -4000 -1000 -5000 0
## y.arma -1000 -5000 0 4500

## y.arma -5000 0 4500 2500
## y.arma 0 4500 2500 -13702
## y.arma 4500 2500 -13702 11602
## y.arma 2500 -13702 11602 3600

## y.arma -13702 11602 3600 4500
## y.arma 11602 3600 4500 6000
## y.arma 3600 4500 6000 2500
## y.arma 4500 6000 2500 -4500

## y.arma 6000 2500 -4500 0
## y.arma 2500 -4500 0 -4000
## y.arma -4500 0 -4000 -3250
## y.arma 0 -4000 -3250 2150

## y.arma -4000 -3250 2150 6700
## y.arma -3250 2150 6700 -11600
## y.arma 2150 6700 -11600 8000
## y.arma 6700 -11600 8000 5000

## y.arma -11600 8000 5000 1000
## y.arma 8000 5000 1000 9000
## y.arma 5000 1000 9000 1380
## y.arma 1000 9000 1380 -1880

## y.arma 9000 1380 -1880 -3500
## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 5922 23965 35782 34804 43658 68936
## [1] "The Rolling Window RMSE is: 34804.298"
RW_RMSE_ARIMA_L # 34804.298
## $rwRMSE
## [1] 34804.3
##
## $trainingSize
## [1] 5
##
## $numwindows
## [1] 136
##
## $horizon
## [1] 60
##
## $s
## [1] 0
##
## $d
## [1] 1
##
## $phi
## [1] -0.9961147 -0.9922185
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 5922.501 6668.376 7787.308 8352.803 7819.549 7361.239 7561.285
## [8] 7730.384 8782.245 9353.982 9715.962 9014.973 8830.834 9311.703
## [15] 10197.712 10692.952 11860.263 13047.036 16127.417 17653.839 20610.899
## [22] 20866.096 21695.862 19568.439 17894.231 15502.271 14838.756 15518.178
## [29] 17360.298 19623.866 21881.341 23399.930 25432.754 26404.495 27198.671
## [36] 25664.456 24998.203 24093.071 23579.481 23332.261 25499.445 28107.415
## [43] 30238.560 29976.814 32162.413 32852.066 35384.152 34417.862 34328.032
## [50] 33018.365 32614.638 33266.063 35455.979 37914.493 40523.990 40766.990
## [57] 43629.463 44554.370 44593.263 40789.997 37594.311 35643.200 34841.149
## [64] 35921.721 38511.531 41187.700 42516.539 42576.195 45394.547 47131.187
## [71] 47433.241 42312.736 37445.113 33658.326 32654.746 33664.328 36860.251
## [78] 39615.764 41748.857 41615.063 44011.986 43900.103 43750.771 40183.967
## [85] 37504.646 34670.331 32846.711 33125.144 35978.458 39172.483 40944.926
## [92] 39757.054 41028.690 41147.308 41862.944 38037.179 33717.588 29841.843
## [99] 28988.416 30829.350 35129.060 39319.641 42593.013 42192.066 43745.574
## [106] 44223.142 44986.892 41862.119 38040.736 35198.066 34810.754 36895.679
## [113] 41377.826 44660.900 46635.690 46806.844 50642.122 52519.960 54317.095
## [120] 52042.037 51686.787 51449.942 53001.402 55520.013 59434.028 62870.463
## [127] 65573.372 65581.605 67579.770 68037.959 68935.558 66787.198 64630.643
## [134] 63361.388 62798.470 65159.978
# Long-term ARUMA for home_price
hp.12 = artrans.wge(hp.d1, phi.tr = c(rep(0,11),1))


aic5.wge(hp.12, p = 0:5, q = 0:3)
## ---------WORKING... PLEASE WAIT...
##
##
## Five Smallest Values of aic
## p q aic
## 2 3 15.56209
## 4 2 15.59564
## 0 2 15.62490
## 0 1 15.62733
## 1 1 15.62815
est.hp.12 = est.arma.wge(hp.12, p = 2, q = 3)
##
##
## Coefficients of AR polynomial:
## -0.7361 -0.8806
##
## AR Factor Table
## Factor Roots Abs Recip System Freq
## 1+0.7361B+0.8806B^2 -0.4179+-0.9803i 0.9384 0.3141
##
##
##
##
## Coefficients of MA polynomial:
## -0.5701 -0.6814 0.3473
##
## MA FACTOR TABLE
## Factor Roots Abs Recip System Freq
## 1+0.9174B+1.0000B^2 -0.4587+-0.8886i 1.0000 0.3258
## 1-0.3473B 2.8793 0.3473 0.0000
##
##
preds = fore.aruma.wge(df_train_l$home_price, phi = est.hp.12$phi, s = 12, d = 1, n.ahead = 60, lastn = F)
## s= 12
## ptot.res= 13
## phitot.res 1 0 0 0 0 0 0 0 0 0 0 1 -1
## ptot.fore= 15
## phitot.fore 0.2639327 -0.1445434 0.8806107 0 0 0 0 0 0 0 0 1 -0.2639327 0.1445434 -0.8806107


ASE_ARUMA_L = mean((df_test_l$home_price[1:60] - preds$f)^2)
ASE_ARUMA_L # 278490092
## [1] 3489515518
RW_RMSE_ARUMA_L = roll.win.rmse.wge(df_train_s$home_price, horizon = 60, s=12, d=1, phi = est.hp$phi)
## [1] "Please Hold For a Moment, TSWGE is processing the Rolling Window RMSE with 125 windows."
## y.arma 1173 391 -1663

## y.arma 391 -1663 979

## y.arma -1663 979 -1663

## y.arma 979 -1663 979

## y.arma -1663 979 -1859

## y.arma 979 -1859 -783

## y.arma -1859 -783 685

## y.arma -783 685 -6260

## y.arma 685 -6260 685

## y.arma -6260 685 -99

## y.arma 685 -99 2544

## y.arma -99 2544 -2837

## y.arma 2544 -2837 3228

## y.arma -2837 3228 2543

## y.arma 3228 2543 1664

## y.arma 2543 1664 -1

## y.arma 1664 -1 -1858

## y.arma -1 -1858 4108

## y.arma -1858 4108 -2152

## y.arma 4108 -2152 4597

## y.arma -2152 4597 -1369

## y.arma 4597 -1369 1272

## y.arma -1369 1272 -2152

## y.arma 1272 -2152 1467

## y.arma -2152 1467 -586

## y.arma 1467 -586 -4892

## y.arma -586 -4892 -1565

## y.arma -4892 -1565 3815

## y.arma -1565 3815 1956

## y.arma 3815 1956 -3815

## y.arma 1956 -3815 2641

## y.arma -3815 2641 1957

## y.arma 2641 1957 2445

## y.arma 1957 2445 -4148

## y.arma 2445 -4148 2791

## y.arma -4148 2791 -4736

## y.arma 2791 -4736 -642

## y.arma -4736 -642 3131

## y.arma -642 3131 -1609

## y.arma 3131 -1609 -3054

## y.arma -1609 -3054 1272

## y.arma -3054 1272 2663

## y.arma 1272 2663 -446

## y.arma 2663 -446 -1565

## y.arma -446 -1565 598

## y.arma -1565 598 -515

## y.arma 598 -515 100

## y.arma -515 100 9890

## y.arma 100 9890 10

## y.arma 9890 10 500

## y.arma 10 500 1500

## y.arma 500 1500 -900

## y.arma 1500 -900 -2200

## y.arma -900 -2200 1600

## y.arma -2200 1600 -500

## y.arma 1600 -500 3000

## y.arma -500 3000 -2000

## y.arma 3000 -2000 -500

## y.arma -2000 -500 -500

## y.arma -500 -500 -89

## y.arma -500 -89 5089

## y.arma -89 5089 305

## y.arma 5089 305 160

## y.arma 305 160 435

## y.arma 160 435 -800

## y.arma 435 -800 -2200

## y.arma -800 -2200 2000

## y.arma -2200 2000 -3000

## y.arma 2000 -3000 1100

## y.arma -3000 1100 2337

## y.arma 1100 2337 2163

## y.arma 2337 2163 -3501

## y.arma 2163 -3501 -4999

## y.arma -3501 -4999 695

## y.arma -4999 695 840

## y.arma 695 840 727

## y.arma 840 727 738

## y.arma 727 738 100

## y.arma 738 100 -2000

## y.arma 100 -2000 3000

## y.arma -2000 3000 2770

## y.arma 3000 2770 -1857

## y.arma 2770 -1857 -1513

## y.arma -1857 -1513 450

## y.arma -1513 450 2050

## y.arma 450 2050 2500

## y.arma 2050 2500 -1500

## y.arma 2500 -1500 -3262

## y.arma -1500 -3262 262

## y.arma -3262 262 -1000

## y.arma 262 -1000 -1000

## y.arma -1000 -1000 -1600

## y.arma -1000 -1600 730

## y.arma -1600 730 1221

## y.arma 730 1221 -1451

## y.arma 1221 -1451 2075

## y.arma -1451 2075 -171

## y.arma 2075 -171 696

## y.arma -171 696 1500

## y.arma 696 1500 0

## y.arma 1500 0 1000

## y.arma 0 1000 0

## y.arma 1000 0 4000

## y.arma 0 4000 3100

## y.arma 4000 3100 -5100

## y.arma 3100 -5100 -2903

## y.arma -5100 -2903 5903

## y.arma -2903 5903 -3325

## y.arma 5903 -3325 521

## y.arma -3325 521 -3196

## y.arma 521 -3196 -2500

## y.arma -3196 -2500 -500

## y.arma -2500 -500 1000

## y.arma -500 1000 1000

## y.arma 1000 1000 -3250

## y.arma 1000 -3250 -2350

## y.arma -3250 -2350 4200

## y.arma -2350 4200 2102

## y.arma 4200 2102 -3602

## y.arma 2102 -3602 1400

## y.arma -3602 1400 -3500

## y.arma 1400 -3500 3000

## y.arma -3500 3000 -1120

## y.arma 3000 -1120 2620

## y.arma -1120 2620 -3500


## [1] "The Summary Statistics for the Rolling Window RMSE Are:"
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 7064 55016 128892 150778 212938 714481
## [1] "The Rolling Window RMSE is: 150777.681"
RW_RMSE_ARUMA_L # 150777.681
## $rwRMSE
## [1] 150777.7
##
## $trainingSize
## [1] 16
##
## $numwindows
## [1] 125
##
## $horizon
## [1] 60
##
## $s
## [1] 12
##
## $d
## [1] 1
##
## $phi
## [1] 0.9908456
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 125331.438 70784.198 128891.477 67231.980 147359.130 71960.569
## [7] 37271.319 492433.900 17080.566 42153.272 158594.107 245452.591
## [13] 207765.840 165054.257 105488.699 17516.245 159674.048 289623.009
## [19] 175967.331 332195.540 109549.481 87632.388 170690.397 98395.815
## [25] 54745.074 386400.611 149179.012 256028.815 125782.364 309538.779
## [31] 170798.506 126654.762 169840.750 326524.155 189790.292 377081.181
## [37] 80737.612 204682.302 148473.694 265079.105 55070.325 164367.978
## [43] 65712.115 153481.592 9757.414 78275.094 34586.601 714481.034
## [49] 8951.842 28653.245 106418.915 72215.735 174663.331 108432.870
## [55] 47052.655 218808.664 153622.480 45765.239 47669.394 18287.334
## [61] 377532.390 28799.826 19057.774 40761.802 52115.066 161344.723
## [67] 152680.208 222705.906 81007.446 179340.724 174030.334 251427.413
## [73] 377202.604 41781.071 55016.007 49205.867 52501.602 7063.990
## [79] 154041.774 221739.397 214093.514 130111.817 109715.768 35656.985
## [85] 159516.631 201229.051 95897.264 235485.092 23301.501 72915.294
## [91] 76822.191 126532.070 46317.518 85601.758 115572.896 148696.571
## [97] 18192.901 48409.877 111069.396 8556.713 76297.174 10360.280
## [103] 306620.180 250349.432 367735.101 217729.169 445209.827 242777.181
## [109] 42682.335 245409.829 204372.357 62374.468 52900.662 54949.225
## [115] 270137.939 212937.874 279707.564 132918.245 297624.367 73797.737
## [121] 298224.517 187059.150 119820.178 162987.613 297468.534
# Long-term Signal-Plus Noise for unemp
wbg.boot.wge(df_train_l$home_price) # p-value 0.03508772 <- Reject
## $p
## [1] 1
##
## $phi
## [1] 0.9866386
##
## $pv
## [1] 0.01503759
# 4b. Fitting VAR model
# Short term
VARselect(df_train_s, type = "none")
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 8 2 2 8
##
## $criteria
## 1 2 3 4 5
## AIC(n) 1.631995e+01 1.601811e+01 1.602982e+01 1.606592e+01 1.595015e+01
## HQ(n) 1.638225e+01 1.614272e+01 1.621673e+01 1.631514e+01 1.626168e+01
## SC(n) 1.647375e+01 1.632572e+01 1.649124e+01 1.668115e+01 1.671918e+01
## FPE(n) 1.223674e+07 9.049067e+06 9.157009e+06 9.496447e+06 8.462373e+06
## 6 7 8 9 10
## AIC(n) 1.590148e+01 1.591885e+01 1.587082e+01 1.588793e+01 1.591449e+01
## HQ(n) 1.627531e+01 1.635499e+01 1.636925e+01 1.644867e+01 1.653754e+01
## SC(n) 1.682432e+01 1.699550e+01 1.710127e+01 1.727219e+01 1.745255e+01
## FPE(n) 8.066160e+06 8.215827e+06 7.841069e+06 7.990320e+06 8.223293e+06
var_fit_s=VAR(df_train_s,p=2,type="none")
var_fit_s
##
## VAR Estimation Results:
## =======================
##
## Estimated coefficients for equation cpi:
## ========================================
## Call:
## cpi = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## 1.412173e+00 -2.482301e-02 1.449858e-05 -4.174794e-01 8.890563e-02
## home_price.l2
## -9.276711e-06
##
##
## Estimated coefficients for equation unemp:
## ==========================================
## Call:
## unemp = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## -1.616465e-02 1.128833e+00 5.292282e-06 2.150134e-02 -2.209282e-01
## home_price.l2
## -8.506220e-06
##
##
## Estimated coefficients for equation home_price:
## ===============================================
## Call:
## home_price = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## 2.273841e+03 2.396492e+02 9.115161e-01 -2.270414e+03 -1.314060e+02
## home_price.l2
## 8.215131e-02
preds_var_s = predict(var_fit_s,n.ahead= 6)
ASE_VAR_S = mean((df_test_s$home_price[1:6] - preds_var_s$fcst$home_price[1:6])^2)
ASE_VAR_S
## [1] 303189519
# Long term
VARselect(df_train_l, type = "both")
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 3 2 2 3
##
## $criteria
## 1 2 3 4 5
## AIC(n) 12.72697 12.12171 12.05715 12.06927 12.16697
## HQ(n) 12.85751 12.33059 12.34435 12.43480 12.61084
## SC(n) 13.04822 12.63571 12.76389 12.96876 13.25922
## FPE(n) 336740.10694 183895.17468 172509.84872 174811.52222 193091.19151
## 6 7 8 9 10
## AIC(n) 12.14611 12.12814 12.12798 12.06139 12.07016
## HQ(n) 12.66830 12.72866 12.80683 12.81856 12.90566
## SC(n) 13.43111 13.60588 13.79848 13.92463 14.12615
## FPE(n) 189578.59559 186835.33187 187638.56589 176544.11427 179353.18248
var_fit_l=VAR(df_train_l,p=2, lag.max = 6, season = 12)
var_fit_l
##
## VAR Estimation Results:
## =======================
##
## Estimated coefficients for equation cpi:
## ========================================
## Call:
## cpi = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## 1.443574e+00 1.096601e+00 -3.767924e-05 -6.578428e-01 -2.621975e+00
## home_price.l2 cpi.l3 unemp.l3 home_price.l3 const
## 5.878073e-05 1.751286e-01 1.616666e+00 -4.354661e-06 4.981085e+00
## sd1 sd2 sd3 sd4 sd5
## 1.016591e+00 2.244234e-01 1.300584e+00 7.320742e-01 6.109101e-01
## sd6 sd7 sd8 sd9 sd10
## 7.153792e-01 1.466645e-02 1.452043e-01 4.210752e-01 -3.714416e-01
## sd11
## -4.241363e-01
##
##
## Estimated coefficients for equation unemp:
## ==========================================
## Call:
## unemp = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## -4.278465e-03 1.395984e+00 -7.937153e-07 8.819391e-03 -1.680062e-01
## home_price.l2 cpi.l3 unemp.l3 home_price.l3 const
## -7.040935e-06 -5.210735e-03 -2.441519e-01 7.301105e-06 3.274820e-01
## sd1 sd2 sd3 sd4 sd5
## 3.459099e-02 4.505461e-02 -7.575930e-02 9.271270e-02 1.394617e-01
## sd6 sd7 sd8 sd9 sd10
## 7.994945e-02 4.254362e-02 4.990166e-02 5.021876e-03 2.092028e-02
## sd11
## -2.147923e-02
##
##
## Estimated coefficients for equation home_price:
## ===============================================
## Call:
## home_price = cpi.l1 + unemp.l1 + home_price.l1 + cpi.l2 + unemp.l2 + home_price.l2 + cpi.l3 + unemp.l3 + home_price.l3 + const + sd1 + sd2 + sd3 + sd4 + sd5 + sd6 + sd7 + sd8 + sd9 + sd10 + sd11
##
## cpi.l1 unemp.l1 home_price.l1 cpi.l2 unemp.l2
## 3.965682e+02 1.825207e+03 8.670204e-01 -5.102824e+02 -2.785844e+03
## home_price.l2 cpi.l3 unemp.l3 home_price.l3 const
## 1.811907e-02 2.184969e+02 8.513530e+02 8.510660e-02 -1.535990e+04
## sd1 sd2 sd3 sd4 sd5
## -1.477082e+04 1.264126e+03 -6.024470e+02 -6.164079e+02 1.862684e+03
## sd6 sd7 sd8 sd9 sd10
## 3.300533e+02 -5.427007e+03 -5.596697e+03 -9.220924e+03 -7.687517e+03
## sd11
## -4.146924e+03
preds_var_l = predict(var_fit_l,n.ahead= 60)
ASE_VAR_L = mean((df_test_l$home_price[1:60] - preds_var_l$fcst$home_price[1:60])^2)
ASE_VAR_L
## [1] 1020036688
# 4c. Fitting Neural Network (mlp) model
# Short term
# Forecasting unemployment and CPI
mlp_fit_unemp_short = mlp(unemp_ts_train_s, reps = 50, comb = "median")
fore_mlp_unemp_short = forecast(mlp_fit_unemp_short, h = 6)
mlp_fit_cpi_short = mlp(cpi_ts_train_s, reps = 50, comb = "median")
fore_mlp_cpi_short = forecast(mlp_fit_cpi_short, h = 6)
# Fitting the model
mlp_fit_short = mlp(home_price_ts_train_s, xreg = data.frame(cpi = cpi_ts_train_s, unemp = unemp_ts_train_s))
df_original = data.frame(cpi = df_train_s$cpi, unemp = df_train_s$unemp)
df_fore_s = data.frame(cpi = fore_mlp_cpi_short$mean, unemp = fore_mlp_unemp_short$mean)
# Forecasting
forecast_mlp_short = forecast(mlp_fit_short, h=6, xreg = rbind(df_original, df_fore_s))
ASE_MLP_S = mean((df_test_s$home_price[1:6]-forecast_mlp_short$mean)^2)
ASE_MLP_S
## [1] 7542249
# Long term
# Forecasting unemployment and CPI
mlp_fit_unemp_long = mlp(unemp_ts_train_l, reps = 50, comb = "median")
fore_mlp_unemp_long = forecast(mlp_fit_unemp_long, h = 60)
mlp_fit_cpi_long = mlp(cpi_ts_train_l, reps = 50, comb = "median")
fore_mlp_cpi_long = forecast(mlp_fit_cpi_long, h = 60)
# Fitting the model
mlp_fit_long = mlp(home_price_ts_train_l, allow.det.season = TRUE, reps = 50, comb = "median", xreg = data.frame(cpi = cpi_ts_train_l, unemp = unemp_ts_train_l))
df_original = data.frame(cpi = df_train_l$cpi, unemp = df_train_l$unemp)
df_fore_l = data.frame(cpi = fore_mlp_cpi_long$mean, unemp = fore_mlp_unemp_long$mean)
# Forecasting
forecast_mlp_long = forecast(mlp_fit_long, h=60, xreg = rbind(df_original, df_fore_l))
ASE_MLP_L = mean((df_test_l$home_price[1:60]-forecast_mlp_long$mean)^2)
ASE_MLP_L
## [1] 3873669021
# 4d. Fitting Ensemble model using at least two of the above.
# We are using the ARIMA and MLP models
# Short term
ensemble_s = (preds_ARIMA_S$f + forecast_mlp_short$mean)/2
ensemble_s
## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov
## 2023 338718.2 335103.6 331012.8
## 2024 329591.7 333778.1
## Dec
## 2023 333830.4
## 2024
ASE_ENSEMBLE_S = mean((df_test_s$home_price[1:6] - ensemble_s)^2)
ASE_ENSEMBLE_S # 43293525344
## [1] 14202982
# Long term
ensemble_l = (preds_ARIMA_L$f + forecast_mlp_long$mean)/2
ensemble_l
## Jan Feb Mar Apr May Jun Jul Aug
## 2019 233903.7 227936.5 235644.1 238604.6 232411.9 234933.2
## 2020 225489.1 232914.4 237093.6 231334.1 238255.8 240897.7 234349.4 237828.8
## 2021 227954.9 235542.7 239202.7 233186.9 239508.6 241799.0 238087.6 239978.9
## 2022 231609.0 238330.2 241318.4 235766.2 241496.4 243252.5 239017.1 241786.5
## 2023 233369.6 239301.9 242918.4 238387.1 243804.5 244888.5 241438.5 243887.5
## 2024 236174.6 241555.5
## Sep Oct Nov Dec
## 2019 234563.1 227161.6 231657.9 236811.0
## 2020 236970.1 230309.1 234004.1 238711.3
## 2021 239800.3 233342.2 236450.3 241260.9
## 2022 241022.3 235299.4 238596.1 242850.2
## 2023 243760.6 237842.1 240277.3 244189.2
## 2024
ASE_ENSEMBLE_L = mean((df_test_l$home_price[1:60] - ensemble_l)^2)
ASE_ENSEMBLE_L # 43293525344
## [1] 5043349630
# 5. Pick a short and long term forecast horizon based on your “problem” from part 3 above and compare all models with the ASE and the rolling window RMSE for both the short and long term forecasts
# Short term horizon: 6 months
# Long term horizon: 5 years
# Evaluating models for short-term forecast:
RW_RMSE_ARMA_S
## $rwRMSE
## [1] 10761.06
##
## $trainingSize
## [1] 3
##
## $numwindows
## [1] 192
##
## $horizon
## [1] 6
##
## $s
## [1] 0
##
## $d
## [1] 0
##
## $phi
## [1] -0.002148641 0.997349901
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 7958.733 5379.476 5013.887 6426.267 9000.361 9185.940 7116.683
## [8] 4039.473 3759.187 4661.234 8297.048 9569.450 6502.335 4956.014
## [15] 7479.780 10160.556 13908.407 14026.219 10661.010 7126.550 5446.986
## [22] 7480.252 12285.925 13544.943 10600.149 8848.081 6494.809 8039.497
## [29] 11207.035 10200.290 7653.844 5572.630 3412.783 4402.724 8866.949
## [36] 10470.281 7722.712 5411.109 4319.528 4360.301 8649.873 9288.047
## [43] 6017.544 4329.460 4225.697 4584.108 7516.572 7681.131 5404.589
## [50] 5489.464 4319.358 4132.178 7226.668 7477.063 6040.757 6279.476
## [57] 8292.035 9386.407 15438.539 17486.352 11315.770 6244.906 4353.516
## [64] 4783.418 7768.570 7073.507 5400.333 7684.361 10218.454 11681.938
## [71] 18900.262 21882.679 16242.131 9380.082 5356.192 5991.775 9010.504
## [78] 7894.495 4559.051 5481.627 8053.057 9669.276 15706.113 17047.884
## [85] 11348.859 8361.718 5868.104 4845.051 7423.623 6843.854 4731.835
## [92] 7901.102 11112.950 11040.765 16301.443 18374.257 13249.782 9250.397
## [99] 7636.570 8739.314 10046.205 8338.500 5710.074 8095.845 12274.926
## [106] 13253.167 18153.263 21046.729 16219.289 11116.594 7425.006 5096.619
## [113] 7362.934 6120.351 5278.583 7972.971 9986.795 10084.278 16877.295
## [120] 18003.470 10810.230 7162.751 5540.711 6345.190 6975.784 5643.327
## [127] 4917.996 7382.385 10530.289 10145.421 15333.908 16611.876 10290.258
## [134] 7470.597 7364.271 7863.419 10530.405 9551.918 5241.752 6230.458
## [141] 9432.100 10693.833 17299.346 19362.125 13532.472 9006.093 5742.176
## [148] 5141.453 7558.859 6847.197 5271.338 7041.036 8015.539 7968.413
## [155] 18309.089 20897.260 15670.965 15486.129 17697.198 15151.313 6970.316
## [162] 5984.146 9518.108 12442.378 17150.977 23681.677 32862.115 34517.866
## [169] 27664.676 22407.051 16710.597 9963.152 6048.973 8924.636 14844.772
## [176] 22334.687 27976.662 29357.780 33546.151 33068.609 23605.276 14605.822
## [183] 15785.751 21211.031 21509.721 17099.078 13272.116 10599.055 9082.374
## [190] 11717.878 18556.765 21008.487
# 10761.06
RW_RMSE_ARIMA_S
## $rwRMSE
## [1] 9854.404
##
## $trainingSize
## [1] 8
##
## $numwindows
## [1] 187
##
## $horizon
## [1] 6
##
## $s
## [1] 0
##
## $d
## [1] 1
##
## $phi
## [1] -0.38215860 0.06373302 0.53965065 -0.05670907 -0.35932674
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 7612.254 3174.559 4298.868 3967.573 4193.058 7337.535 9932.462
## [8] 7007.905 4489.023 7912.600 9566.721 13081.893 11730.093 4873.169
## [15] 3428.500 5932.679 6430.509 12469.420 10895.461 10121.879 4890.488
## [22] 5159.885 8745.343 10981.799 5511.794 2288.278 3197.311 3212.658
## [29] 3694.816 8873.001 9715.216 8116.613 3275.158 3477.458 3678.126
## [36] 8298.725 8369.035 4614.974 5836.227 4510.303 6935.945 6469.418
## [43] 7620.954 9042.344 2599.668 3714.834 4638.441 7469.046 5105.494
## [50] 4903.351 6877.592 9126.486 7775.947 16072.359 16700.594 10395.480
## [57] 3035.747 4636.580 2710.482 5543.111 4032.680 5154.591 8463.254
## [64] 9385.091 10450.884 20453.734 22865.716 16036.227 4160.126 7351.592
## [71] 5196.587 5696.572 3650.409 6019.129 7125.709 7806.911 7674.315
## [78] 16424.434 15291.614 10759.906 3452.566 3298.731 4314.071 7349.846
## [85] 4573.345 7427.201 10632.398 10414.341 8294.976 15628.605 17749.911
## [92] 14902.918 5179.017 9285.925 9370.956 8225.013 3660.533 6674.905
## [99] 9392.654 11613.538 9537.176 16557.560 19713.440 16547.659 5897.225
## [106] 5489.062 6250.329 5846.114 4740.811 9625.044 9176.588 7842.028
## [113] 8507.620 18175.973 17552.212 11245.920 5003.837 6854.186 5473.245
## [120] 4881.444 3224.738 5958.198 7600.705 9398.594 6903.375 13882.113
## [127] 14405.171 11076.840 4898.445 8756.927 7611.317 10307.008 5115.195
## [134] 6550.382 7109.558 8628.568 8627.713 17773.542 18324.415 13320.735
## [141] 3405.693 7075.880 5737.784 6295.850 4509.471 7140.825 7216.788
## [148] 7521.086 6589.255 18768.184 18458.116 16306.904 10140.143 15621.961
## [155] 14576.968 5027.091 6803.032 12458.166 16784.714 16870.608 21859.073
## [162] 36209.913 32044.747 21637.337 10987.475 9402.440 7924.627 6766.473
## [169] 11955.667 20213.011 23852.732 24970.416 24484.593 32982.974 30175.064
## [176] 19877.808 11710.948 22743.220 21280.072 12921.248 6197.197 7082.039
## [183] 9164.375 7793.912 9513.677 18410.011 17194.795
# 9854.40
RW_RMSE_ARUMA_S
## $rwRMSE
## [1] 8650.16
##
## $trainingSize
## [1] 17
##
## $numwindows
## [1] 178
##
## $horizon
## [1] 6
##
## $s
## [1] 12
##
## $d
## [1] 1
##
## $phi
## [1] -0.002148641 0.997349901
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 2922.069 3453.452 4139.833 3793.916 2692.029 4518.780 12481.700
## [8] 15788.596 3716.212 2330.292 6491.302 5363.758 8582.198 6497.638
## [15] 2150.615 7957.524 2453.171 2257.827 6384.226 10247.706 3826.222
## [22] 2792.404 3188.393 5836.823 12603.098 18636.681 3400.963 11138.126
## [29] 6195.606 4857.976 10928.373 12921.909 2147.235 2273.564 3896.855
## [36] 12436.059 6374.155 4970.529 11040.101 5662.972 7164.437 4230.811
## [43] 10761.266 10510.047 9453.320 11236.857 17291.600 20937.900 1354.635
## [50] 4822.225 2557.384 7504.364 2397.118 2216.022 4983.154 2849.489
## [57] 9020.758 6747.154 6214.442 9113.338 12720.553 2936.818 3344.632
## [64] 2309.168 7370.778 2931.334 3350.032 4580.834 10505.924 14888.128
## [71] 3769.106 18058.739 11384.933 1555.653 1772.837 2280.206 1784.011
## [78] 6966.803 2352.878 11879.827 3022.246 8511.340 4032.384 6867.621
## [85] 14188.209 7690.192 7171.491 4344.481 1484.110 4116.472 6956.026
## [92] 4330.001 2325.942 3492.975 1927.244 1570.041 4220.164 2143.790
## [99] 2942.228 3129.766 3172.770 8799.098 19331.821 3767.742 15838.603
## [106] 10882.661 11050.034 2281.524 2235.069 10334.176 6794.135 2762.708
## [113] 6091.538 4645.624 14098.551 4827.606 15499.551 2255.285 3718.657
## [120] 4922.273 2512.011 6244.880 7469.547 3265.502 9889.496 5041.609
## [127] 5258.622 8216.868 9702.097 6047.222 3171.229 6260.364 2827.806
## [134] 4200.027 2652.543 3255.407 7685.433 4470.585 5338.493 9466.804
## [141] 7267.483 6791.248 7518.433 18484.315 43138.309 18775.905 34284.314
## [148] 15908.216 6123.197 11013.403 9326.981 31627.056 20027.035 9990.797
## [155] 7047.728 16326.095 39645.704 25748.719 24407.159 16379.640 3417.529
## [162] 18581.468 7380.114 16361.120 15596.332 8775.930 13486.799 39235.986
## [169] 45252.211 11068.683 15831.035 10170.318 10400.351 9113.262 13113.420
## [176] 12425.224 7874.197 13599.611
# 8650.16
# ARUMA has the smallest RMSE for short-term forecast: 8650.16
ASE_ARMA_S
## [1] 302887206
# 302887206
ASE_ARIMA_S
## [1] 12498440
# 12498440
ASE_ARUMA_S
## [1] 261542338
# 261542338
ASE_VAR_S
## [1] 303189519
# 303189519
ASE_MLP_S
## [1] 7542249
# 7542249
ASE_ENSEMBLE_S
## [1] 14202982
# 14202982
# MLP has the smallest ASE for short-term forecast: 7542249
# Evaluating models for long-term forecast:
RW_RMSE_ARMA_L
## $rwRMSE
## [1] 29023
##
## $trainingSize
## [1] 2
##
## $numwindows
## [1] 139
##
## $horizon
## [1] 60
##
## $s
## [1] 0
##
## $d
## [1] 0
##
## $phi
## [1] 0.9908456
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 13814.783 15663.242 16426.678 17841.641 21308.614 19166.208 19244.668
## [8] 15231.619 13052.541 13550.657 14908.770 10100.518 11760.162 13935.586
## [15] 13582.097 15646.388 18061.470 16483.520 15185.106 10695.227 9017.852
## [22] 7193.491 7852.119 8184.695 7173.998 7315.874 7880.601 10375.332
## [29] 13531.313 12283.329 10453.814 9430.413 8778.663 9035.320 9273.796
## [36] 11612.059 10417.531 10101.706 10143.221 10773.594 11456.691 12082.532
## [43] 12383.801 13755.511 14932.213 14791.891 13946.365 19518.770 16468.006
## [50] 18180.584 17996.766 16970.502 17157.228 18551.148 19481.444 21988.856
## [57] 24202.828 25161.121 23288.537 31331.358 27750.181 23889.721 23783.046
## [64] 22299.113 21578.282 23402.103 25472.495 27358.265 29902.531 28919.685
## [71] 28108.810 36725.200 33327.615 29269.608 25999.955 24291.450 23394.031
## [78] 24998.055 27333.149 30311.438 31621.830 32339.675 30665.383 37655.716
## [85] 32717.350 30720.591 30272.453 27735.698 26053.739 27299.011 29331.684
## [92] 32409.499 35011.450 33804.980 30470.058 38609.414 34640.221 32355.456
## [99] 30576.744 26396.367 25568.650 28904.192 31104.428 35140.816 38848.555
## [106] 39134.167 35506.647 43304.307 40790.702 37819.971 37040.993 33851.992
## [113] 33684.697 37738.894 40261.191 44772.988 46626.712 46137.802 46918.907
## [120] 56327.847 51795.760 52238.558 52784.288 53065.684 54884.819 59290.625
## [127] 61374.854 65241.793 68634.816 69037.748 67093.764 74431.244 71346.709
## [134] 70060.597 71027.915 68116.369 69093.441 71542.463 74714.099
# 29023
RW_RMSE_ARIMA_L
## $rwRMSE
## [1] 34804.3
##
## $trainingSize
## [1] 5
##
## $numwindows
## [1] 136
##
## $horizon
## [1] 60
##
## $s
## [1] 0
##
## $d
## [1] 1
##
## $phi
## [1] -0.9961147 -0.9922185
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 5922.501 6668.376 7787.308 8352.803 7819.549 7361.239 7561.285
## [8] 7730.384 8782.245 9353.982 9715.962 9014.973 8830.834 9311.703
## [15] 10197.712 10692.952 11860.263 13047.036 16127.417 17653.839 20610.899
## [22] 20866.096 21695.862 19568.439 17894.231 15502.271 14838.756 15518.178
## [29] 17360.298 19623.866 21881.341 23399.930 25432.754 26404.495 27198.671
## [36] 25664.456 24998.203 24093.071 23579.481 23332.261 25499.445 28107.415
## [43] 30238.560 29976.814 32162.413 32852.066 35384.152 34417.862 34328.032
## [50] 33018.365 32614.638 33266.063 35455.979 37914.493 40523.990 40766.990
## [57] 43629.463 44554.370 44593.263 40789.997 37594.311 35643.200 34841.149
## [64] 35921.721 38511.531 41187.700 42516.539 42576.195 45394.547 47131.187
## [71] 47433.241 42312.736 37445.113 33658.326 32654.746 33664.328 36860.251
## [78] 39615.764 41748.857 41615.063 44011.986 43900.103 43750.771 40183.967
## [85] 37504.646 34670.331 32846.711 33125.144 35978.458 39172.483 40944.926
## [92] 39757.054 41028.690 41147.308 41862.944 38037.179 33717.588 29841.843
## [99] 28988.416 30829.350 35129.060 39319.641 42593.013 42192.066 43745.574
## [106] 44223.142 44986.892 41862.119 38040.736 35198.066 34810.754 36895.679
## [113] 41377.826 44660.900 46635.690 46806.844 50642.122 52519.960 54317.095
## [120] 52042.037 51686.787 51449.942 53001.402 55520.013 59434.028 62870.463
## [127] 65573.372 65581.605 67579.770 68037.959 68935.558 66787.198 64630.643
## [134] 63361.388 62798.470 65159.978
# 34804.3
RW_RMSE_ARUMA_L
## $rwRMSE
## [1] 150777.7
##
## $trainingSize
## [1] 16
##
## $numwindows
## [1] 125
##
## $horizon
## [1] 60
##
## $s
## [1] 12
##
## $d
## [1] 1
##
## $phi
## [1] 0.9908456
##
## $theta
## [1] 0
##
## $RMSEs
## [1] 125331.438 70784.198 128891.477 67231.980 147359.130 71960.569
## [7] 37271.319 492433.900 17080.566 42153.272 158594.107 245452.591
## [13] 207765.840 165054.257 105488.699 17516.245 159674.048 289623.009
## [19] 175967.331 332195.540 109549.481 87632.388 170690.397 98395.815
## [25] 54745.074 386400.611 149179.012 256028.815 125782.364 309538.779
## [31] 170798.506 126654.762 169840.750 326524.155 189790.292 377081.181
## [37] 80737.612 204682.302 148473.694 265079.105 55070.325 164367.978
## [43] 65712.115 153481.592 9757.414 78275.094 34586.601 714481.034
## [49] 8951.842 28653.245 106418.915 72215.735 174663.331 108432.870
## [55] 47052.655 218808.664 153622.480 45765.239 47669.394 18287.334
## [61] 377532.390 28799.826 19057.774 40761.802 52115.066 161344.723
## [67] 152680.208 222705.906 81007.446 179340.724 174030.334 251427.413
## [73] 377202.604 41781.071 55016.007 49205.867 52501.602 7063.990
## [79] 154041.774 221739.397 214093.514 130111.817 109715.768 35656.985
## [85] 159516.631 201229.051 95897.264 235485.092 23301.501 72915.294
## [91] 76822.191 126532.070 46317.518 85601.758 115572.896 148696.571
## [97] 18192.901 48409.877 111069.396 8556.713 76297.174 10360.280
## [103] 306620.180 250349.432 367735.101 217729.169 445209.827 242777.181
## [109] 42682.335 245409.829 204372.357 62374.468 52900.662 54949.225
## [115] 270137.939 212937.874 279707.564 132918.245 297624.367 73797.737
## [121] 298224.517 187059.150 119820.178 162987.613 297468.534
# 150777.7
# ARMA has the smallest RMSE for short-term forecast: 29023
ASE_ARMA_L
## [1] 18852254446
# 18852254446
ASE_ARIMA_L
## [1] 6392665503
# 6392665503
ASE_ARUMA_L
## [1] 3489515518
# 3489515518
ASE_VAR_L
## [1] 1020036688
# 1020036688
ASE_MLP_L
## [1] 3873669021
# 3873669021
ASE_ENSEMBLE_L
## [1] 5043349630
# 5043349630
# VAR has the smallest ASE for long-term forecast: 3380516580
# Plotting short-term forecast versus actual price for MLP
plot(df_test_s$home_price[1:6],type = "l")
lines(seq(1,6),forecast_mlp_short$mean, col = "blue")

# Plotting long-term forecast versus actual price for VAR
plot(df_test_l$home_price[1:60],type = "l")
lines(seq(1,60), preds_var_l$fcst$home_price[,1], col = "blue")

# 6. Provide the forecasts and prediction limits (when possible) for both the short and long term forecasts.
# Training the model on the entire data set for short-term forecast with MLP
# Forecasting unemployment and CPI
mlp_fit_unemp_short = mlp(unemp_ts, reps = 50, comb = "median")
fore_mlp_unemp_short = forecast(mlp_fit_unemp_short, h = 6)
mlp_fit_cpi_short = mlp(cpi_ts, reps = 50, comb = "median")
fore_mlp_cpi_short = forecast(mlp_fit_cpi_short, h = 6)
# Fitting the model
mlp_fit_short = mlp(home_price_ts, xreg = data.frame(cpi = cpi_ts, unemp = unemp_ts))
df_original = data.frame(cpi = df$cpi, unemp = df$unemp)
df_fore_s = data.frame(cpi = fore_mlp_cpi_short$mean, unemp = fore_mlp_unemp_short$mean)
# Forecasting
forecast_mlp_short = forecast(mlp_fit_short, h=6, xreg = rbind(df_original, df_fore_s))
forecast_mlp_short
## Mar Apr May Jun Jul Aug
## 2024 339135.1 349414.5 356094.5 364038.1 364860.6 371273.2
# Training the model on the entire data set for long-term forecast with VAR
VARselect(df, type = "both")
## $selection
## AIC(n) HQ(n) SC(n) FPE(n)
## 9 2 2 9
##
## $criteria
## 1 2 3 4 5
## AIC(n) 1.630851e+01 1.598298e+01 1.597746e+01 1.600415e+01 1.591258e+01
## HQ(n) 1.641007e+01 1.614549e+01 1.620091e+01 1.628854e+01 1.625791e+01
## SC(n) 1.655938e+01 1.638438e+01 1.652939e+01 1.670661e+01 1.676556e+01
## FPE(n) 1.209786e+07 8.737353e+06 8.691141e+06 8.929609e+06 8.152968e+06
## 6 7 8 9 10
## AIC(n) 1.584381e+01 1.586556e+01 1.581091e+01 1.578811e+01 1.580719e+01
## HQ(n) 1.625008e+01 1.633277e+01 1.633905e+01 1.637720e+01 1.645721e+01
## SC(n) 1.684731e+01 1.701959e+01 1.711546e+01 1.724320e+01 1.741279e+01
## FPE(n) 7.617409e+06 7.793679e+06 7.389892e+06 7.236718e+06 7.392905e+06
var_fit=VAR(df,p=2, lag.max = 6, season = 12)
preds_var = predict(var_fit,n.ahead= 60)
preds_var
## $cpi
## fcst lower upper CI
## [1,] 286.6585 285.1030 288.2140 1.555492
## [2,] 287.4309 284.8510 290.0108 2.579916
## [3,] 288.0799 284.7178 291.4421 3.362166
## [4,] 288.9013 284.9280 292.8746 3.973329
## [5,] 288.9477 284.4783 293.4171 4.469398
## [6,] 288.9871 284.0993 293.8749 4.887796
## [7,] 289.4930 284.2400 294.7460 5.253010
## [8,] 289.4260 283.8446 295.0075 5.581487
## [9,] 288.9158 283.0311 294.8005 5.884695
## [10,] 288.3741 282.2031 294.5450 6.170919
## [11,] 289.2958 282.8495 295.7421 6.446312
## [12,] 290.3800 283.6644 297.0955 6.715540
## [13,] 291.5854 284.6032 298.5676 6.982181
## [14,] 292.3440 285.0950 299.5930 7.248997
## [15,] 292.9992 285.4811 300.5173 7.518118
## [16,] 293.8308 286.0396 301.6220 7.791179
## [17,] 293.8868 285.8174 301.9562 8.069415
## [18,] 293.9337 285.5800 302.2875 8.353747
## [19,] 294.4449 285.8001 303.0898 8.644836
## [20,] 294.3811 285.4379 303.3242 8.943138
## [21,] 293.8720 284.6231 303.1209 9.248939
## [22,] 293.3297 283.7673 302.8921 9.562393
## [23,] 294.2493 284.3657 304.1328 9.883545
## [24,] 295.3298 285.1175 305.5422 10.212356
## [25,] 296.5304 285.9817 307.0791 10.548720
## [26,] 297.2831 286.3906 308.1755 10.892481
## [27,] 297.9314 286.6879 309.1748 11.243443
## [28,] 298.7551 287.1538 310.3565 11.601382
## [29,] 298.8025 286.8365 310.7686 11.966052
## [30,] 298.8401 286.5029 311.1773 12.337196
## [31,] 299.3414 286.6269 312.0560 12.714546
## [32,] 299.2671 286.1693 312.3649 13.097831
## [33,] 298.7471 285.2603 312.2338 13.486778
## [34,] 298.1934 284.3123 312.0745 13.881117
## [35,] 299.1013 284.8207 313.3818 14.280581
## [36,] 300.1698 285.4849 314.8547 14.684907
## [37,] 301.3580 286.2642 316.4519 15.093840
## [38,] 302.0981 286.5910 317.6052 15.507131
## [39,] 302.7336 286.8091 318.6581 15.924538
## [40,] 303.5444 287.1986 319.8903 16.345828
## [41,] 303.5787 286.8079 320.3495 16.770776
## [42,] 303.6031 286.4039 320.8023 17.199164
## [43,] 304.0910 286.4603 321.7218 17.630782
## [44,] 304.0033 285.9379 322.0687 18.065429
## [45,] 303.4698 284.9669 321.9727 18.502913
## [46,] 302.9026 283.9595 321.8456 18.943046
## [47,] 303.7968 284.4112 323.1825 19.385650
## [48,] 304.8518 285.0212 324.6823 19.830554
## [49,] 306.0264 285.7488 326.3040 20.277594
## [50,] 306.7528 286.0262 327.4794 20.726611
## [51,] 307.3747 286.1973 328.5522 21.177454
## [52,] 308.1719 286.5419 329.8019 21.629977
## [53,] 308.1926 286.1085 330.2766 22.084042
## [54,] 308.2034 285.6639 330.7429 22.539514
## [55,] 308.6778 285.6815 331.6741 22.996264
## [56,] 308.5765 285.1224 332.0307 23.454171
## [57,] 308.0295 284.1164 331.9427 23.913114
## [58,] 307.4489 283.0759 331.8219 24.372982
## [59,] 308.3298 283.4961 333.1634 24.833664
## [60,] 309.3713 284.0763 334.6664 25.295055
##
## $unemp
## fcst lower upper CI
## [1,] 3.999204 2.900838 5.097569 1.098366
## [2,] 4.488896 2.821708 6.156084 1.667188
## [3,] 4.536667 2.491192 6.582142 2.045475
## [4,] 4.532801 2.225230 6.840372 2.307571
## [5,] 4.535069 2.039970 7.030169 2.495099
## [6,] 4.502335 1.869945 7.134724 2.632389
## [7,] 4.517339 1.782842 7.251836 2.734497
## [8,] 4.509961 1.698680 7.321242 2.811281
## [9,] 4.504191 1.634685 7.373696 2.869505
## [10,] 4.523980 1.610001 7.437959 2.913979
## [11,] 4.510891 1.562682 7.459100 2.948209
## [12,] 4.500565 1.525768 7.475361 2.974796
## [13,] 4.564806 1.569112 7.560501 2.995695
## [14,] 5.007076 1.994694 8.019458 3.012382
## [15,] 5.005462 1.979483 8.031441 3.025979
## [16,] 4.954741 1.917403 7.992078 3.037338
## [17,] 4.914056 1.866953 7.961158 3.047102
## [18,] 4.842436 1.786676 7.898196 3.055760
## [19,] 4.822395 1.758721 7.886069 3.063674
## [20,] 4.783482 1.712368 7.854597 3.071115
## [21,] 4.749348 1.671069 7.827627 3.078279
## [22,] 4.743630 1.658323 7.828937 3.085307
## [23,] 4.707603 1.615305 7.799901 3.092298
## [24,] 4.676648 1.577332 7.775965 3.099317
## [25,] 4.722338 1.615934 7.828742 3.106404
## [26,] 5.147922 2.034339 8.261505 3.113583
## [27,] 5.131299 2.010438 8.252161 3.120862
## [28,] 5.067077 1.938837 8.195318 3.128241
## [29,] 5.014247 1.878535 8.149960 3.135713
## [30,] 4.931701 1.788435 8.074966 3.143265
## [31,] 4.901828 1.750944 8.052712 3.150884
## [32,] 4.854068 1.695515 8.012621 3.158553
## [33,] 4.811971 1.645716 7.978226 3.166255
## [34,] 4.799087 1.625114 7.973060 3.173973
## [35,] 4.756608 1.574917 7.938300 3.181691
## [36,] 4.719845 1.530451 7.909239 3.189394
## [37,] 4.760304 1.563237 7.957371 3.197067
## [38,] 5.181177 1.976480 8.385874 3.204697
## [39,] 5.160311 1.948039 8.372582 3.212272
## [40,] 5.092265 1.872485 8.312046 3.219780
## [41,] 5.035989 1.808776 8.263203 3.227214
## [42,] 4.950337 1.715774 8.184900 3.234563
## [43,] 4.917663 1.675842 8.159485 3.241821
## [44,] 4.867377 1.618395 8.116359 3.248982
## [45,] 4.823001 1.566961 8.079042 3.256041
## [46,] 4.808060 1.545068 8.071053 3.262992
## [47,] 4.763725 1.493891 8.033558 3.269833
## [48,] 4.725284 1.448723 8.001845 3.276561
## [49,] 4.764228 1.481055 8.047401 3.283173
## [50,] 5.183731 1.894063 8.473399 3.289668
## [51,] 5.161626 1.865581 8.457671 3.296045
## [52,] 5.092459 1.790157 8.394762 3.302303
## [53,] 5.035168 1.726727 8.343610 3.308441
## [54,] 4.948596 1.634134 8.263057 3.314461
## [55,] 4.915089 1.594726 8.235451 3.320363
## [56,] 4.864046 1.537900 8.190192 3.326146
## [57,] 4.818984 1.487170 8.150797 3.331813
## [58,] 4.803419 1.466054 8.140783 3.337365
## [59,] 4.758516 1.415714 8.101317 3.342801
## [60,] 4.719559 1.371433 8.067684 3.348126
##
## $home_price
## fcst lower upper CI
## [1,] 338765.5 333684.1 343846.9 5081.390
## [2,] 342449.9 334651.3 350248.6 7798.649
## [3,] 347976.6 338089.1 357864.2 9887.519
## [4,] 351896.1 340264.0 363528.2 11632.079
## [5,] 349663.3 336472.2 362854.4 13191.113
## [6,] 347120.7 332470.1 361771.2 14650.531
## [7,] 342925.3 326868.5 358982.0 16056.752
## [8,] 340343.1 322907.9 357778.4 17435.261
## [9,] 340376.7 321576.6 359176.8 18800.115
## [10,] 344704.6 324545.7 364863.5 20158.887
## [11,] 333463.0 311947.7 354978.4 21515.374
## [12,] 341077.4 318206.3 363948.6 22871.146
## [13,] 345740.8 321514.4 369967.3 24226.486
## [14,] 349550.2 323969.3 375131.2 25580.951
## [15,] 355249.7 328316.0 382183.5 26933.723
## [16,] 359343.3 331059.5 387627.1 28283.825
## [17,] 357271.6 327641.3 386901.8 29630.249
## [18,] 354873.5 323901.5 385845.5 30972.028
## [19,] 350806.1 318497.9 383114.4 32308.281
## [20,] 348336.6 314698.4 381974.8 33638.230
## [21,] 348468.9 313507.7 383430.1 34961.204
## [22,] 352882.8 316606.2 389159.5 36276.641
## [23,] 341716.0 304131.9 379300.1 37584.078
## [24,] 349394.9 310511.8 388278.1 38883.146
## [25,] 354113.8 313940.2 394287.4 40173.557
## [26,] 357970.4 316515.3 399425.5 41455.095
## [27,] 363709.9 320982.3 406437.5 42727.607
## [28,] 367836.7 323845.7 411827.7 43990.993
## [29,] 365792.4 320547.2 411037.6 45245.200
## [30,] 363416.5 316926.2 409906.7 46490.215
## [31,] 359366.5 311640.4 407092.5 47726.055
## [32,] 356910.0 307957.3 405862.8 48952.764
## [33,] 357051.6 306881.2 407222.0 50170.408
## [34,] 361471.5 310092.4 412850.5 51379.072
## [35,] 350307.5 297728.6 402886.3 52578.854
## [36,] 357986.5 304216.6 411756.4 53769.862
## [37,] 362703.0 307750.8 417655.3 54952.213
## [38,] 366555.2 310429.1 422681.2 56126.031
## [39,] 372288.1 314996.7 429579.6 57291.443
## [40,] 376406.8 317958.2 434855.4 58448.578
## [41,] 374352.7 314755.1 433950.3 59597.568
## [42,] 371965.6 311227.1 432704.2 60738.544
## [43,] 367903.3 306031.6 429774.9 61871.637
## [44,] 365433.4 302436.4 428430.3 62996.976
## [45,] 365560.5 301445.8 429675.2 64114.687
## [46,] 369965.0 304740.1 435189.9 65224.896
## [47,] 358785.0 292457.2 425112.7 66327.725
## [48,] 366447.3 299024.0 433870.6 67423.292
## [49,] 371146.5 302634.8 439658.2 68511.712
## [50,] 374980.7 305387.6 444573.8 69593.098
## [51,] 380695.4 310027.8 451362.9 70667.558
## [52,] 384795.3 313060.1 456530.5 71735.198
## [53,] 382722.2 309926.0 455518.3 72796.118
## [54,] 380315.7 306465.3 454166.1 73850.416
## [55,] 376233.7 301335.5 451131.8 74898.188
## [56,] 373743.9 297804.4 449683.4 75939.523
## [57,] 373850.9 296876.4 450825.5 76974.509
## [58,] 378235.3 300232.0 456238.5 78003.231
## [59,] 367034.8 288009.1 446060.6 79025.770
## [60,] 374676.6 294634.4 454718.9 80042.204